在解决方案中的测试项目里作了下面的一些配置,但是日志却写不出来。在WEB应用程序中配置后可以正常写出
App_config:
<?xml version="1.0" encoding="utf-8"?>
<configuration> <configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections> <log4net debug="false">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout, log4net">
<conversionPattern value="%date [%thread] %-5level %logger - %exception%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
<!--测试项目连接数据库的配置文件-->
<appSettings>
<add key="SqlConString" value="Data Source=192.168.1.***;Initial Catalog=Database;
User ID=***;pwd=***;Min Pool Size=10;Max Pool Size=100;" />
</appSettings>
</configuration>
预生成事件命令行:
copy /Y "$(ProjectDir)app.config" "$(TargetPath).config"
Assembly.cs文件添加内容:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
程序里的调用代码:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Info("test");
App_config:
<?xml version="1.0" encoding="utf-8"?>
<configuration> <configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections> <log4net debug="false">
<appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout, log4net">
<conversionPattern value="%date [%thread] %-5level %logger - %exception%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
<!--测试项目连接数据库的配置文件-->
<appSettings>
<add key="SqlConString" value="Data Source=192.168.1.***;Initial Catalog=Database;
User ID=***;pwd=***;Min Pool Size=10;Max Pool Size=100;" />
</appSettings>
</configuration>
预生成事件命令行:
copy /Y "$(ProjectDir)app.config" "$(TargetPath).config"
Assembly.cs文件添加内容:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
程序里的调用代码:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("MyLogger");
log.Info("test");
解决方案 »
- asp.net webservice请求问题
- 问一个通过复选框删除多条数据时的实际开发问题
- 50分求b/s程序改成智能客户端步骤
- 在DATAGRID绑定数据的时候,如果个列的数据满足一个条件的话,将这一行的背景色改为红色!应该怎么实现?
- 做工作流显示头痛的问题!!!
- linq简单查询问题
- 帮我解惑啊,各位高手
- 在datagrid中数据排放问题,请帮忙
- 请教高手:为什么装了Active Director活动目录后,Asp.Net 程序无法运行?谢谢!!!
- 提问:画图和显示定位的问题~~~~~
- 对象必须实现 IConvertible错误
- 100分高分求助关于DataBinding:“System.Data.DataRowView”不包含名为"TreatmentID”的属性的问题
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="WoNext_Log.txt"/>
<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="%-5p %c [%x] - %m%n"/>
</layout>
<layout type="log4net.Layout.SimpleLayout"/>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender"/>
</root>
</log4net>
你用的是什么测试?你在单元测试启动的时候调用一下,加载一下log4net配置
log4net.Config.XmlConfigurator.Configure();
Winform调用过程:
1:在项目中引用log4net.dll
2:app.config文件的<configuration></configuration>节点中加入
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="Log\\" />
<appendToFile value="true" />
<datePattern value="yyyy-M-d.LOG" />
<maxSizeRollBackups value="10" />
<rollingStyle value="Date" />
<maximumFileSize value="10MB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %c %m %n" />
</layout>
</appender> <root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root> </log4net>
3:在Form.cs文件中引入using log4net;命名空间,然后加入
[assembly: log4net.Config.DOMConfigurator(Watch = true)]
在类里加入下面这句代码,然后就可调用。
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
log4net.Config.XmlConfigurator.Configure(); }
如果布置在NAS存储服务器上的话,这里一定要用物理路径,如果是非NAS方式可以使用相对路径(如:~/WebLogs/Log.txt)