接上文
上文中讲到配置日志模块的第二步,这篇文章继续给大家介绍日志配置方法。
Step 3.在</configSections>后加入:(注意,以下配置与Step 2中的sectionGroup一一对应)
< IsLine.AppLog.Configuration >
< FileRender >
< AppenderStyle > File </ AppenderStyle >
< AppenderType > Text </ AppenderType >
< AppenderInf > IsLineLog / Log4Net1.txt </ AppenderInf >
< AppenderContent >-& gt;Event Date:@eventDate; -& gt;Level:@level; -& gt;Message:@exception; -& gt;Source:@source; -& gt;Stack Trace:@StackTrace -& gt;Trigger:@trigger; -& gt;Memo:@message </ AppenderContent >
< LayoutInf ></ LayoutInf >
< Level > Debug </ Level >
</ FileRender >
< OracleUsingSPRender >
< AppenderStyle > Oracle </ AppenderStyle >
< AppenderType > StoredProcedure </ AppenderType >
< AppenderInf > IsLine.Data.Configuration.OracleConnectString </ AppenderInf >
< AppenderContent > SP_ADD_ILFWLOG.ADD_ILFWLOG </ AppenderContent >
< LayoutInf ></ LayoutInf >
< Level > Debug </ Level >
</ OracleUsingSPRender >
< OracleUsingTextRender >
< AppenderStyle > Oracle </ AppenderStyle >
< AppenderType > Text </ AppenderType >
< AppenderInf > add key </ AppenderInf > // 可以填add key,如果add key不存在则会使用DataBaseConnection
< AppenderContent > " INSERT INTO IsLineFAppLog ([EventDate],[Level],[Source],[Trigger],[Message],[Exception]) VALUES (@eventDate, @level, @source,@trigger, @message, @exception) " </ AppenderContent >
< LayoutInf ></ LayoutInf > // 返回给用户的样式
< Level > Debug </ Level >
</ OracleUsingTextRender >
< SQLServerUsingTextRender >
< AppenderStyle > SQLServer </ AppenderStyle >
< AppenderType > Text </ AppenderType >
< AppenderInf > add key </ AppenderInf > // 可以填add key,如果add key不存在则会使用DataBaseConnection
< AppenderContent > " INSERT INTO IsLineFAppLog ([ILEventDate],[ILLevel],[ILSource],[ILTrigger],[ILMessage],[ILException]) VALUES ('@eventDate', '@level', '@source','@trigger', '@message', '@exception') " </ AppenderContent >
< LayoutInf ></ LayoutInf > // 返回给用户的样式
< Level > Debug </ Level >
</ SQLServerUsingTextRender >
< SQLServerUsingSPRender >
< AppenderStyle > SQLServer </ AppenderStyle >
< AppenderType > StoredProcedure </ AppenderType >
< AppenderInf > add key </ AppenderInf > // 可以填add key,如果add key不存在则会使用DataBaseConnection
< AppenderContent > IsLineLogSPRender </ AppenderContent >
< LayoutInf ></ LayoutInf > // 返回给用户的样式
< Level > Debug </ Level >
</ SQLServerUsingSPRender >
< MailRender >
< AppenderStyle > Mail </ AppenderStyle >
< AppenderType > HTML </ AppenderType >
< AppenderInf > 收件人 </ AppenderInf >
< AppenderContent > 邮件内容:@eventDate, @level, @source,@trigger, @message, @exception </ AppenderContent >
< LayoutInf ></ LayoutInf > // 返回给用户的样式
< Level > Debug </ Level >
</ MailRender >
</ IsLine.AppLog.Configuration >
参数说明:
FileRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明日记记录方式 |
AppenderInf |
日志文件位置 |
AppenderContent |
日志文件格式 |
LayoutInf |
|
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
OracleUsingSPRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明日志记录方式为使用存储过程 |
AppenderInf |
可以填add key,如果add key不存在则会使用IsLine.Data.Configuration 节点中的DataBaseConnection配置信息 |
AppenderContent |
存储过程名称以及传入参数名称 |
LayoutInf |
返回给用户的样式 |
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
OracleUsingTextRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明日志记录方式为使用sql语句 |
AppenderInf |
可以填add key,如果add key不存在则会使用IsLine.Data.Configuration 节点中的DataBaseConnection配置信息 |
AppenderContent |
Sql语句 |
LayoutInf |
返回给用户的样式 |
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
SQLServerUsingTextRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明日志记录方式为使用sql语句 |
AppenderInf |
可以填add key,如果add key不存在则会使用IsLine.Data.Configuration 节点中的DataBaseConnection配置信息 |
AppenderContent |
Sql语句 |
LayoutInf |
返回给用户的样式 |
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
SQLServerUsingSPRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明日志记录方式为使用存储过程 |
AppenderInf |
可以填add key,如果add key不存在则会使用IsLine.Data.Configuration 节点中的DataBaseConnection配置信息 |
AppenderContent |
Sql语句 |
LayoutInf |
返回给用户的样式 |
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
MailRender:
参数名称 |
说明 |
AppenderStyle |
指明日志记录介质 |
AppenderType |
指明发送html格式邮件 |
AppenderInf |
收件人 |
AppenderContent |
邮件内容 |
LayoutInf |
返回给用户的样式 |
Level |
该日志实例等级,当该等级高于全局等级时,才会被记录 |
关于Level参数:
Level参数指定了日志实例的重要等级,只有当日志实例Level值大于全局级别,该日志才会被记录。在web.config中配置全局日志级别:
< add key = " IsLine.AppLog.Configuration.Level " value = " Debug " />
日志级别共有以下枚举值,大小关系如下:Off > Fatal > Error > Debug > Warn > Info > All ,即
Level名称 |
解释 |
优先级 |
All |
将记录所有实例的信息 |
最低 |
Info |
|
|
Warn |
|
|
Debug |
|
|
Error |
|
|
Fatal |
|
|
Off |
不会记录任何实例的信息 |
最高 |
关于日志缓存:
你可以通过web.config开启并配置全局缓存,高于此缓存阀值时才会被写入日志实体:
< add key = " IsLine.AppLog.Configuration.BufferSize " value = " 20 " />
Aicken建议,不要将此缓存值设置过大,10以内最好,当然如果你的并发很高例外。
本文转自Aicken(李鸣)博客园博客,原文链接:http://www.cnblogs.com/isline/archive/2010/02/22/1671040.html,如需转载请自行联系原作者