Exemplo n.º 1
0
        ulong ILogFile.ReadNext(ulong offset, out LogEntryStatus status, out ulong versionNumber, out uint updateCount, out ulong updateSize)
        {
            if (offset == 0UL)
            {
                offset = 4UL;
            }

            var header = new byte[4 + 8 + 1 + 4];

            lock (_lock)
            {
                _fileStream.Seek((long)offset, SeekOrigin.Begin);
                if (_fileStream.Read(header, 0, header.Length) != header.Length)
                {
                    status        = LogEntryStatus.Eof;
                    versionNumber = 0UL;
                    updateCount   = 0U;
                    updateSize    = 0UL;
                    return(0UL);
                }
            }

            updateSize    = BitConverter.ToUInt32(header, 0);
            versionNumber = BitConverter.ToUInt64(header, 4);
            status        = (LogEntryStatus)header[12];
            updateCount   = BitConverter.ToUInt32(header, 13);

            return(offset + updateSize);
        }
Exemplo n.º 2
0
        public static void AddLogItem(string item, [CallerMemberName] string sender = "Unknown", LogEntryStatus status = LogEntryStatus.Information)
        {
            var result = $"[{DateTime.Now:HH:mm:ss.ffff}] [{status}] {sender} -> {item}";

            Log.Append(result);
            if (status != LogEntryStatus.Information)
            {
                Log.Append(Environment.StackTrace);
            }
        }
Exemplo n.º 3
0
 ulong ILogFile.ReadNext(ulong offset, out LogEntryStatus status, out ulong versionNumber, out uint updateCount, out ulong updateSize)
 {
     return(_versionLogFile.ReadNext(offset, out status, out versionNumber, out updateCount, out updateSize));
 }