项目中用到log4net,进行一些简单的研究。
现将简单用法记录如下:
1.在项目中,引用"log4net.dll"。
2.添加配置文件,在配置文件中加入如下配置。
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<log4net>
<appender name="LogFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="Log\\tmas.txt" />
<!--定义用文件来保存日志,生成的文件log.txt和应用程序生成的exe文件在同一目录下。-->
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy.MM.dd" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<!--定义输出风格-->
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value="
----------------------header--------------------------
" />
<param name="Footer" value="
----------------------footer--------------------------
" />
</layout>
</appender>
<logger name="logApp">
<!--配置项可以不配置-->
<level value="ALL" />
</logger>
<root>
<!--定义日志输出的方式和等级-->
<level value="INFO" />
<appender-ref ref="LogFile" />
<!--选择了文件输出,注意粗体部分对应的名称-->
</root>
</log4net>
</configuration>
3.在项目中的Properties中的AssemblyInfo.cs,加入引用
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
4.在调用的类中,加入定义
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
便可使用log.Error("提示内容")进行调用。
在有些项目中,默认的配置文件中内容太多,避免混淆,可使用单独配置文件进行配置。以下是操作步骤记录。
1. 新建一个配置文件,log4net.config配置方法同成web.config或app.config一致;
2.如果windows应用程序请把配置文件设为:复制到输出目录 修改方法:在log4net.config上右击-->属性--->把
"复制到输出目录"
值改为
true
;
3.在要用到log4的地方命名空间上边加上:[assembly: log4net.Config.XmlConfigurator(ConfigFile =
"log4net.config"
, Watch =
true
)]
另外,如果要生成的项目为dll的文件中调用log4net,需要要引用dll的项目中定义config文件和assemblyInfo.cs内容。在dll中直接定义并调用就可以。