ASP.NET企业开发框架IsLine FrameWork系列之十四--框架配置信息大全(中)
接上文
上文中讲到配置日志模块的第二步,这篇文章继续给大家介绍日志配置方法。
Step 3.在</configSections>后加入:(注意,以下配置与Step 2中的sectionGroup一一对应)

<IsLine.AppLog.Configuration>
<FileRender>
<AppenderStyle>File</AppenderStyle>
<AppenderType>Text</AppenderType>
<AppenderInf>IsLineLog/Log4Net1.txt</AppenderInf>
<AppenderContent>->Event Date:@eventDate;->Level:@level;->Message:@exception;->Source:@source;->Stack Trace:@StackTrace->Trigger:@trigger;->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) 欢迎您关注我的下一篇文章。
IsLine FrameWork是一个开源的企业级系统开发框架,目前已有以下系列:
ASP.NET企业开发框架IsLine FrameWork系列之一--第一次的亲密接触
ASP.NET企业开发框架IsLine FrameWork系列之二--命名空间与契约
ASP.NET企业开发框架IsLine FrameWork系列之三--七种武器
ASP.NET企业开发框架IsLine FrameWork系列之四--DataProvider 数据访问(上)
ASP.NET企业开发框架IsLine FrameWork系列之五--DataProvider 数据访问(中)
ASP.NET企业开发框架IsLine FrameWork系列之六--DataProvider 数据访问(下)
ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)
ASP.NET企业开发框架IsLine FrameWork系列之八--AppLogProvider日志框架(下)
ASP.NET企业开发框架IsLine FrameWork系列之九--ExceptionProcessProvider异常框架(上)
ASP.NET企业开发框架IsLine FrameWork系列之十--ExceptionProcessProvider异常框架(下)
ASP.NET企业开发框架IsLine FrameWork系列之十一--HttpContentProvider 访问缓存
李鸣(aicken)原创 转载注明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述