关于log4net的使用
这类文章,在网上随便能找出一堆,毕竟对于找出来的一堆,众人还是需要自己理解一下方能消化。
为了自己忘记了能够及时再找到使用方法,特写此文以记之...
-----------------------------------------------------------------------------------------------
log4net版本:1.2.10.0
需要用到的文件:(2个)log4net.dll,log4net.config
log4net.config配置如下:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="log/abc.log" />
<appendToFile value="true" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="5MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss:fff} %p %m %n" />
<!--a 输出创建日志的 AppDomain 的名称
c 默认输出 logger 的全名称。后面可跟“ { 数字 } ”,则表示输出与数字对应的 logger 名称级别(从右边开始)。如全名为“ a.b.c ”,“ %c{2} ”输出“ b.c ”
C 输出调用日志纪录请求的类名。后面可跟“ { 数字 } ”,表示输出与数字对应的类名称(包含命名空间,从右边开始)。
d 输出日志记录时间,后可跟“ { 时间格式 } ”。默认为 yyyy-MM-dd HH:mm:ss,fff
F 输出调用日志纪录请求的文件全名。(会影响速度)
l 输出调用日志纪录请求的一些本地信息。如类和成员名,调用文件和调用声明的代码行数。(极其影响性能)
L 输出调用日志纪录请求的声明代码行数。(极其影响性能)
m 输出应用程序所要输出的信息。
M 输出调用日志纪录请求的成员名称。(极其影响性能)
n 输出换行符号
p 输出日志请求的 Level 值
r 输出从应用程序启动开始到日志纪录请求的时间(毫秒)
t 输出产生日志的线程名称,如果没有名称则输出线程的编号
u 输出当前活动用户的名称。( Principal.Identity.Name )
W 输出当前活动用户的 windows 标识。
% 输出一个 % 号
-->
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="log/abc.log" />
<appendToFile value="true" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="5MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss:fff} %p %m %n" />
<!--a 输出创建日志的 AppDomain 的名称
c 默认输出 logger 的全名称。后面可跟“ { 数字 } ”,则表示输出与数字对应的 logger 名称级别(从右边开始)。如全名为“ a.b.c ”,“ %c{2} ”输出“ b.c ”
C 输出调用日志纪录请求的类名。后面可跟“ { 数字 } ”,表示输出与数字对应的类名称(包含命名空间,从右边开始)。
d 输出日志记录时间,后可跟“ { 时间格式 } ”。默认为 yyyy-MM-dd HH:mm:ss,fff
F 输出调用日志纪录请求的文件全名。(会影响速度)
l 输出调用日志纪录请求的一些本地信息。如类和成员名,调用文件和调用声明的代码行数。(极其影响性能)
L 输出调用日志纪录请求的声明代码行数。(极其影响性能)
m 输出应用程序所要输出的信息。
M 输出调用日志纪录请求的成员名称。(极其影响性能)
n 输出换行符号
p 输出日志请求的 Level 值
r 输出从应用程序启动开始到日志纪录请求的时间(毫秒)
t 输出产生日志的线程名称,如果没有名称则输出线程的编号
u 输出当前活动用户的名称。( Principal.Identity.Name )
W 输出当前活动用户的 windows 标识。
% 输出一个 % 号
-->
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
//系统加载时就设置
//BS在Application_Start、CS在Program.cs里设置
log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"));
//作为一个全局变量,在应用程序启动后设置,以后就直接使用
//可以在主页面的Onload时设置
log4net.ILog log = log4net.LogManager.GetLogger("随便取个名字");