GetFilename() 공개 메소드

public GetFilename ( LogWriteContext context, LogEventInfo entry ) : string
context LogWriteContext
entry LogEventInfo
리턴 string
예제 #1
0
        sealed protected override async Task <LogWriteOperation> WriteAsyncCore(LogWriteContext context, LogEventInfo entry)
        {
            using (await _lock.LockAsync())
            {
                await EnsureInitialized();
                await CheckCleanupAsync();

                var filename = FileNamingParameters.GetFilename(context, entry);
                var contents = Layout.GetFormattedString(context, entry);

                return(await DoWriteAsync(filename, contents, entry));
            }
        }
        public void TestLoggerOn()
        {
            var naming = new FileNamingParameters()
            {
                IncludeLevel = false,
                IncludeLogger = true,
                IncludeSequence = false,
                IncludeSession = false,
                IncludeTimestamp = FileTimestampMode.None
            };

            // ok...
            var info = GetLogEventInfo();

            // check...
            var filename = naming.GetFilename(new LogWriteContext(), info);
            Assert.Equal("Log - foobar.log", filename);
        }
        public void TestEverythingOn()
        {
            var naming = new FileNamingParameters()
            {
                IncludeLevel = true,
                IncludeLogger = true,
                IncludeSequence = true,
                IncludeSession = true,
                IncludeTimestamp = FileTimestampMode.DateTime
            };

            // ok...
            var info = GetLogEventInfo();

            // check...
            var context = new LogWriteContext();
            var filename = naming.GetFilename(context, info);
            Assert.Equal(string.Format("Log - INFO - foobar - {0} - {1} - {2}.log", LogManager.GetDateTime().ToString("yyyyMMdd HHmmss"),
                context.Environment.SessionId, info.SequenceID), filename);
        }
예제 #4
0
        protected sealed override async Task <LogWriteOperation> WriteAsyncCore(LogWriteContext context, LogEventInfo entry)
        {
            using (await _lock.LockAsync().ConfigureAwait(false))
            {
                await EnsureInitialized().ConfigureAwait(false);
                await CheckCleanupAsync().ConfigureAwait(false);

                var filename = FileNamingParameters.GetFilename(context, entry);
                var contents = Layout.GetFormattedString(context, entry);

                var sw = await GetOrCreateStreamWriterForFile(filename).ConfigureAwait(false);

                var op = await DoWriteAsync(sw, contents, entry);

                if (!KeepLogFilesOpenForWrite)
                {
                    sw.Dispose();
                }

                return(op);
            }
        }
        public void TestTimestampDate()
        {
            var naming = new FileNamingParameters()
            {
                IncludeLevel = false,
                IncludeLogger = false,
                IncludeSequence = false,
                IncludeSession = false,
                IncludeTimestamp = FileTimestampMode.Date
            };

            // ok...
            var info = GetLogEventInfo();

            // check...
            var filename = naming.GetFilename(new LogWriteContext(), info);
            Assert.Equal($"Log - {LogManager.GetDateTime() .ToString("yyyyMMdd")}.log", filename);
        }
        public void TestRegexEverythingOn()
        {
            var naming = new FileNamingParameters()
            {
                IncludeLevel = true,
                IncludeLogger = true,
                IncludeSequence = true,
                IncludeSession = true,
                IncludeTimestamp = FileTimestampMode.DateTime
            };

            // get...
            var regex = naming.GetRegex();

            // create...
            var info = GetLogEventInfo();

            // check...
            var context = new LogWriteContext();
            var filename = naming.GetFilename(context, info);
  
            // check...
            Assert.True(regex.Match(filename).Success);
        }
        public void TestTimestampTime()
        {
            var naming = new FileNamingParameters()
            {
                IncludeLevel = false,
                IncludeLogger = false,
                IncludeSequence = false,
                IncludeSession = false,
                IncludeTimestamp = FileTimestampMode.Time
            };

            // ok...
            var info = GetLogEventInfo();

            // check...
            var filename = naming.GetFilename(new LogWriteContext(), info);
            Assert.Equal(string.Format("Log - {0}.log", LogManagerBase.GetDateTime().ToString("HHmmss")), filename);
        }