在C#的类库中使用log4net
1,在类库中添加对log4net的引用.并且在app.config(web.config)中添加如下代码:
添加的位置你懂的。
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!-- This section contains the log4net configuration settings -->
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log/" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HH".txt"" />
<StaticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="时间:%date 等级:%p 内容:%message%newline" />
<header value=" ----------------------header-------------------------- " ></header>
<footer value=" ----------------------footer-------------------------- " ></footer>
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
2,然后可以在类库中添加一个如下的类文件:
public class LogUtility
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteInfo(string strInfo)
{
log.Info(strInfo);
}
public static void WriteDebugInfo(string strInfo)
{
log.Debug(strInfo);
}
}
3,然后在别的项目中添加对此项目的引用(项目的config文件需要手动复制到主项目的目录中)。就可以用如下的语句来输出日志信息了:
Utility.LogUtility.WriteDebugInfo("debug info!");
这样应该就可以在类库文件中使用log4net了。只是在C#与C++中有些不同,C#中配置文件可以自动生成到主程序文件的目录下,而在C++中,则需要手工拷贝入主程序文件中。