文本格式说明
能够记载的日志类别包括:FATAL(致命错误)、ERROR(通常错误)、WARN(警告)、INFO(通常信息)、DEBUG(调试信息)。html
文本参数说明c#
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID 等同于 %thread
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,例如:
模式字符串为:%-10c -%m%n
代码为:
ILog log=LogManager.GetLogger(“Exam.Log”);
log.Debug(“Hello”);
则输出为下面的形式:
Exam.Log - Hello
%method:输出语句所在的方法名
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,若是不够,则用空格填充
%newline: 错误详情
%message: 自定义输出信息
%logger: 类
%property: 属性windows
如下为我的定义的模板app
<conversionPattern value="
%n======= ===
%n【日志级别】%-5level
%n【记录时间】%date
%n【线程编号】[%thread]
%n【执行时间】[%r]毫秒
%n【出错文件】%F
%n【出错类名】%class
%n【出错函数】%method
%n【出错行号】%L
%n【日志对象】%logger
%n【日志属性】%property{NDC}
%n【错误描述】%message
%n【错误详情】%newline" />ide
输出示例:函数
==========
【日志级别】ERROR
【记录时间】2012-11-08 15:49:37,625
【线程编号】[10]
【执行时间】[180]毫秒
【出错文件】C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs
【出错行号】24
【出错的类】ConsoleApplication5.Program 属性[(null)]
【错误描述】错误
【错误详情】
System.DivideByZeroException: 尝试除以零。
在 ConsoleApplication5.Program.Main(String[] args) 位置 C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs:行号 20post
==========
【日志级别】ERROR
【记录时间】2012-11-08 15:49:37,666
【线程编号】[10]
【执行时间】[221]毫秒
【出错文件】C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ConsoleApplication5\ConsoleApplication5\Program.cs
【出错行号】28
【出错的类】ConsoleApplication5.Program 属性[(null)]
【错误描述】error
【错误详情】
System.Exception: 发生了一个异常spa
使用说明:
配置文件:插件
节点: <configuration>中添加命令行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<
log4net
>
<!--定义输出到文件中-->
<
appender
name="SysAppender" type="log4net.Appender.RollingFileAppender">
<!--日志的路径-->
<
file
value="Logs/Log4Net/" />
<!--是否覆盖,默认是追加true-->
<
appendToFile
value="true"/>
<
rollingStyle
value="Composite"/>
<!--文件名称-->
<
DatePattern
value="yyyy-MM-dd'.log'"></
DatePattern
>
<!--设置无限备份=-1 ,最大备份数为1000-->
<
param
name="MaxSizeRollBackups" value="1000"/>
<!--每一个文件的大小-->
<
param
name="MaximumFileSize" value="500KB"/>
<!--名称是否能够更改成false为能够更改-->
<
param
name="StaticLogFileName" value="false"/>
<
layout
type="log4net.Layout.PatternLayout">
<!--输出格式-->
<
conversionPattern
value="
%n======= ===
</
layout
>
</
appender
>
<!--定义输出到控制台命令行中-->
<
appender
name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<
layout
type="log4net.Layout.PatternLayout">
<
conversionPattern
value="
%n======= ===
</
layout
>
</
appender
>
<!--定义输出到windows事件中-->
<
appender
name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<
layout
type="log4net.Layout.PatternLayout">
<
conversionPattern
value="
%n======= ===
</
layout
>
</
appender
>
<!--定义日志的输出媒介,下面定义日志以四种方式输出。也能够下面的按照一种类型或其余类型输出。-->
<
root
>
<!--文件形式记录日志-->
>
<
appender-ref
ref="SysAppender"/>
<!--控制台控制显示日志-->
<
appender-ref
ref="ConsoleAppender"/>
<!--Windows事件日志-->
<!--<appender-ref ref="EventLogAppender"/>-->
<!-- 若是不启用相应的日志记录,能够经过这种方式注释掉
<appender-ref ref="AdoNetAppender_Access" />
-->
</
root
>
</
log4net
>
|
代码中:
引用
using log4net;
using System.Reflection
在命名空间中添加[红色的内容]
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace ConsoleApplication5
调用示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
using
System;
using
System.Collections.Generic;
using
System.Text;
using
log4net;
using
System.Reflection;
[assembly: log4net.Config.XmlConfigurator(Watch =
true
)]
namespace
ConsoleApplication5
{
class
Program
{
static
void
Main(
string
[] args)
{
//建立日志记录组件实例
ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//记录严重错误
log.Fatal(
"严重错误"
);
log.Fatal(
"严重错误"
,
new
Exception(
"发生了一个致命错误"
));
//记录错误日志
log.Error(
"错误"
);
log.Error(
"错误"
,
new
Exception(
"发生了一个异常"
));
//记录警告信息
log.Warn(
"警告"
);
log.Error(
"警告"
,
new
Exception(
"有一个警告信息"
));
//记录通常信息
log.Info(
"通常信息"
);
log.Error(
"通常信息"
,
new
Exception(
"发出一个通常信息"
));
//记录调试信息
log.Debug(
"调试信息"
);
log.Error(
"调试信息"
,
new
Exception(
"发生了一个调试信息"
));
Console.Read();
}
}
}
|
示例程序下载: 日志记录插件_log4net.zip