Log4net比Console的main()更早运行? 配置了下log4net,把debug和info的日志路径设为一样,以日期的形式记录。 这样配置会引起错误,开始后console上显示文件被另一进程使用,可以问题是main()函数尚未执行,那么这个错误是从哪跑出来的?? ps:比main更早运行的有其他的函数和事件吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请贴出代码和log4net的配置还有异常信息。 应该是一些Initialize 的动作把。 一个console程序,随便什么内容都行,之后做的改动如下: using log4net.Repository.Hierarchy; //改动一,加上了这三行,using和attribute using log4net;// [assembly: log4net.Config.XmlConfigurator(Watch = true)] // namespace Monitor { class Program { static void Main(string[] args) { } } }//改动二,加了个app.config,如下,注意fatal和error的文件地址是一样的,为了让它出错<?xml version="1.0"?><configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <!--日志管理--> <log4net> <appender name="Fatal" type="log4net.Appender.RollingFileAppender"> <param name="File" value=".\Error\"/> <param name="AppendToFile" value="true"/> <param name="MaxSizeRollBackups" value="10"/> <param name="StaticLogFileName" value="false"/> <param name="DatePattern" value="yyyy-MM-dd'.txt'"/> <param name="RollingStyle" value="Date"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d %-3L %-5p - %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="levelMin" value="FATAl"/> <param name="levelMax" value="FATAL"/> <param name="AcceptOnMatch" value="true"/> </filter> </appender> <appender name="Error" type="log4net.Appender.RollingFileAppender"> <param name="File" value=".\Error\"/> <param name="AppendToFile" value="true"/> <param name="MaxSizeRollBackups" value="10"/> <param name="StaticLogFileName" value="false"/> <param name="DatePattern" value="yyyy-MM-dd'.txt'"/> <param name="RollingStyle" value="Date"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d %-3L %-5p - %m%n"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="levelMin" value="WARN"/> <param name="levelMax" value="ERROR"/> <param name="AcceptOnMatch" value="true"/> </filter> </appender><root> <appender-ref ref="Fatal"/> <appender-ref ref="Error"/> <!--appender-ref ref="Debug"/--> <appender-ref ref="Info"/> </root> </log4net></configuration>把断点设在“ static void Main(string[] args)”上面,然后运行,发现在main函数执行前,console上就有了“log4net:error[RollingFileAppender] Unable to acquire lock on file "C:Users\**\Desktop\project……………….text" 正由另一进程使用,因此该进程无法访问该文件”。这个异常是预料之中的,但是为什么异常会出现在main函数之前呢,我还没运行自己的代码呀 [assembly: log4net.Config.XmlConfigurator(Watch = true)] // Here 配置系统初始化的时刻,XmlConfigurator 只是配置的一种方式, 大虾救我:C#调用matlab中傅里叶变换对图片处理如何操作? 问个关于字符串的问题 新人 关于C#中ComboBox的使用方法 在线等 有知道上海 宝信软件的没 他们招不招.net的人 DateTime 实例遇到的问题.. 求助:TCPClient NetworkStream 使用问题 大家帮忙看看我这段程序总是不能把数据写入数据库,帮忙改改!感激涕零! WinFrom 中图片透明问题 再问一个关于制作帮助系统的问题。 WPF 无x:Key的问题 ComponentOne Studio for WinForms 稳定吗? 获取多个textbox值的问题
using log4net.Repository.Hierarchy; //改动一,加上了这三行,using和attribute
using log4net;//
[assembly: log4net.Config.XmlConfigurator(Watch = true)] //
namespace Monitor
{
class Program
{
static void Main(string[] args)
{
}
}
}//改动二,加了个app.config,如下,注意fatal和error的文件地址是一样的,为了让它出错<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<!--日志管理-->
<log4net>
<appender name="Fatal" type="log4net.Appender.RollingFileAppender">
<param name="File" value=".\Error\"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="10"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyy-MM-dd'.txt'"/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-3L %-5p - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="levelMin" value="FATAl"/>
<param name="levelMax" value="FATAL"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
</appender>
<appender name="Error" type="log4net.Appender.RollingFileAppender">
<param name="File" value=".\Error\"/>
<param name="AppendToFile" value="true"/>
<param name="MaxSizeRollBackups" value="10"/>
<param name="StaticLogFileName" value="false"/>
<param name="DatePattern" value="yyyy-MM-dd'.txt'"/>
<param name="RollingStyle" value="Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-3L %-5p - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="levelMin" value="WARN"/>
<param name="levelMax" value="ERROR"/>
<param name="AcceptOnMatch" value="true"/>
</filter>
</appender>
<root>
<appender-ref ref="Fatal"/>
<appender-ref ref="Error"/>
<!--appender-ref ref="Debug"/-->
<appender-ref ref="Info"/> </root>
</log4net>
</configuration>把断点设在“ static void Main(string[] args)”上面,然后运行,发现在main函数执行前,console上就有了“log4net:error[RollingFileAppender] Unable to acquire lock on file "C:Users\**\Desktop\project……………….text" 正由另一进程使用,因此该进程无法访问该文件”。这个异常是预料之中的,但是为什么异常会出现在main函数之前呢,我还没运行自己的代码呀
XmlConfigurator 只是配置的一种方式,