.net项目中配置log4net
log4net是常用的日志工具,个人在.net项目中也经常使用,下面介绍在web项目和windows服务项目中分别配置log4net的过程。
一、web项目
1.在项目中安装log4net程序包
在vs的解决方案管理器中选择需要添加log4net的项目,右击,然后在弹出菜单中点击“管理NuGet程序包”。
接着在打开的NuGet包管理器中选择“浏览”标签页,在搜索框中输入log4net搜索。在搜索结果中选择Apache经典红色羽毛图标的包,然后安装。
2.添加log4net配置文件
两种方案选择一种:
方案1.早期的log4net包安装后会自动生成log4net.config配置文件,目前新版的程序包安装后不会自动生成配置文件了,所以就直接在web.config文件中添加log4net配置信息。打开项目的web.config文件,找到
<!--log4net日志配置信息,较为简单,需要更丰富和强大的功能可以去查找更详细的资料-->
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="SysAppender" />
</root>
<logger name="WebLogger">
<level value="DEBUG" />
</logger>
<appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--日志输出的路径:D:\Log\,根据需要替换为实际的路径-->
<param name="File" value="D:\Log\" />
<!--是否向日志文件中追加文本,日志一般一天一份,当天的日志都是追加到同一份文件中-->
<param name="AppendToFile" value="true" />
<!--创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite-->
<param name="RollingStyle" value="Date" />
<!--文件名格式:Logs_年月日.txt,会根据日期自动变更-->
<param name="DatePattern" value=""Logs_"yyyyMMdd".txt"" />
<!--文件名是否动态生成,上面已经指定了格式,这里设为false-->
<param name="StaticLogFileName" value="false" />
<!--每条日志具体内容的格式-->
<layout type="log4net.Layout.PatternLayout,log4net">
<!--此处指定的格式为:时间(年月日时分秒毫秒) [线程id] 日志级别 当前日志对象名称 - 程序中输出的日志信息 换行-->
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
方案2.也可以选择新建一个log4net.config文件,在该文件下添加配置内容,记得在上面给出的代码外层加上