У меня есть программа на C # и я использую библиотеку log4net для ведения журнала.
Я пытаюсь записать время запуска программы в каждой строке журнала во всей программе:
class MyProgram
{
static DateTime startTime;
static void Main()
{
startTime = DateTime.Now;
Log.Info(startTime + "Program started");
MyMethod1();
//...
}
static void MyMethod1()
{
Log.Info(startTime + "method1 step1 ");
//code
Log.Info(startTime + "method1 step2");
}
}
log4net configuration
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Logs\\Job.json" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maximumFileSize value="20MB" />
<maxSizeRollBackups value="10" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.SerializedLayout, log4net.Ext.Json">
<decorator type="log4net.Layout.Decorators.StandardTypesDecorator, log4net.Ext.Json" />
<member value="startTime:%property{ApplicationStartTime}"/>
<member value="date:date" />
<member value="level:level" />
<member value="logger:logger" />
<member value="message:messageObject" />
<member value="exception:exception" />
</layout>
</appender>
Вместо того, чтобы добавлять его вручную к каждой строке, можно ли настроить log4net на автоматическое добавление времени запуска программы к каждой строке журнала?