我在net 3.5中使用log4net。现在我想要的是每次我的应用程序创建一个新的日志文件时,应该在日志文件中打印应用程序的版本号。
PS:我知道如何获取版本号,但每次创建新日志文件时如何写入日志文件?
答案 0 :(得分:1)
如果可以在您的appender的布局中定义标题:
<layout type="log4net.Layout.PatternLayout">
<header>This is the header</header>
<conversionPattern value="%date %level %logger - %message%newline" />
</layout>
该值将由TextWriterAppender
类使用(FileAppender
和RollingFileAppender
派生自
但是标题是固定的,不会评估自定义数据。自定义标题的最快方法是实现自己的布局并在Header
属性中设置版本号。
public class CustomLayout : log4net.Layout.PatternLayout
{
//inheriting from PatternLayout to minimize changes
public override string Header
{
get
{
return "version 1.0.0"; // or however you will retrieve it
}
set
{
base.Header = value;
}
}
}
然后更改您的配置以引用CustomLayout
类型
<layout type="namespace.to.your.CustomLayout">
<header>This header will be ignored</header>
<conversionPattern value="%date %level %logger - %message%newline" />
</layout>
您甚至可以在header属性中添加一些格式,以便能够记录日期等内容。