简单利用 log4net 向文件中写入日志记录
2006-06-07 09:03
666 查看
开发一个大系统时,有一个好的日志方案,在调试程序时会有很好的帮助!
下面就是我最近学习总结的一个方法(用 log4net.dll 向文件中添加日志方法)。
1。从 http://logging.apache.org/log4net/ 下载 log4net-1.2.0-beta8.zip,解压 并从
src/log4net.sln加入项目,并生成log4net.dll.
2。 新建一web项目,引入该log4net.dll.
3。新建一LogWritter.config文件,向其中加入以下代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="d://logfile.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]/r/n"/>
<param name="Footer" value="[Footer]/r/n"/>
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
</layout>
</appender>
<!-->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
< -->
<logger name="LogWritter">
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</logger>
</log4net>
</configuration>
4。向项目文件中加入下面的类:
public class LogWritter
{
private static ILog logger=null;
private LogWritter()
{
}
private static void Init()
{
string fileName = "LogWritter.config";
//LogWritter.config文件所在位置
System.IO.FileInfo fi = new System.IO.FileInfo(fileName);
log4net.Config.DOMConfigurator.ConfigureAndWatch(fi);
logger = LogManager.GetLogger("LogWritter");
}
public static void Debug(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Debug (str);
}
public static void Info(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Info(str);
}
public static void Error(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Error(str);
}
}
5。在需要向文件中写入日志时,加上以上类,就可以了
例如;
LogWritter.Debug("web I Debug");
LogWritter.Info("web I Info");
LogWritter.Error("web I Error");
此文档有待进一步完善。有兴趣的同行可以交流一下!
下面就是我最近学习总结的一个方法(用 log4net.dll 向文件中添加日志方法)。
1。从 http://logging.apache.org/log4net/ 下载 log4net-1.2.0-beta8.zip,解压 并从
src/log4net.sln加入项目,并生成log4net.dll.
2。 新建一web项目,引入该log4net.dll.
3。新建一LogWritter.config文件,向其中加入以下代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<param name="File" value="d://logfile.log" />
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]/r/n"/>
<param name="Footer" value="[Footer]/r/n"/>
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
</layout>
</appender>
<!-->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
< -->
<logger name="LogWritter">
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</logger>
</log4net>
</configuration>
4。向项目文件中加入下面的类:
public class LogWritter
{
private static ILog logger=null;
private LogWritter()
{
}
private static void Init()
{
string fileName = "LogWritter.config";
//LogWritter.config文件所在位置
System.IO.FileInfo fi = new System.IO.FileInfo(fileName);
log4net.Config.DOMConfigurator.ConfigureAndWatch(fi);
logger = LogManager.GetLogger("LogWritter");
}
public static void Debug(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Debug (str);
}
public static void Info(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Info(str);
}
public static void Error(string str)
{
if(logger == null)
{
LogWritter.Init();
}
logger.Error(str);
}
}
5。在需要向文件中写入日志时,加上以上类,就可以了
例如;
LogWritter.Debug("web I Debug");
LogWritter.Info("web I Info");
LogWritter.Error("web I Error");
此文档有待进一步完善。有兴趣的同行可以交流一下!
相关文章推荐
- log4net示例1-最简单的回滚文件记录日志程序(时间)
- log4net 如何跨域或者跨进程日志记录在同一个日志文件中以及数据库中
- log4net根据级别把日志写入不同文件
- asp.net利用log4net写入日志到SqlServer数据库[整理]
- 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错
- log4net 将不同级别的信息写入不同的日志文件
- .Net写txt文件-简单的记录执行日志信息代码
- Log4net按照不同级别写入多个日志文件
- c语言每隔1秒向文件中写入一行记录,类似日志记录
- 利用POI对MS Excel进行读写(可以设置写入文件的样式),利用tm-extractor对Word进行读取操作并将信息用(log4j)日志信息显示出
- VB.net类库中应用log4net实现日志记录(文件形式)
- 成功利用Log4net将日志写入数据库!
- 用一个简单的示例说明日志记录组件log4net的使用
- Log4net按照不同级别写入多个日志文件
- 代码简单示意:利用log4j将一个类中不同业务日志记录到不同位置
- Log4net同时写入多个日志文件
- log4net自动删除日志文件,摸索记录
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误
- log4net 将日志按不同类型写入多个文件