我有一个使用log4net(通过Castle Windsor)的控制台应用程序。当我调试时,所有内容都可以正常记录到控制台,但是当我发布并运行应用程序时,没有任何记录。
我将我的log4net配置放在一个单独的文件(log4net.config)中。 我认为它找不到配置文件,但这只是一个猜测。
我是一名Web开发人员,没有部署过很多控制台应用程序。我是否遗漏了什么? 我需要手动将log4net.config文件复制到exe目录吗?
我使用的是VS2010。
app.config:
我将我的log4net配置放在一个单独的文件(log4net.config)中。 我认为它找不到配置文件,但这只是一个猜测。
我是一名Web开发人员,没有部署过很多控制台应用程序。我是否遗漏了什么? 我需要手动将log4net.config文件复制到exe目录吗?
我使用的是VS2010。
app.config:
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false"/>
</configSections>
<appSettings>
...
<add key="log4net.Internal.Debug" value="false"/>
</appSettings>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
<castle>
<components>
...
</components>
<facilities>
<facility id="loggingfacility" configfile="log4net.config" loggingapi="log4net" type="Castle.Facilities.Logging.LoggingFacility, Castle.Facilities.Logging"/>
</facilities>
</castle>
</configuration>
log4net.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<root>
<!-- Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
<priority value="ALL" />
<appender-ref ref="ConsoleAppender" />
</root>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d: [%-5p] %m%n" />
</layout>
</appender>
<logger name="Castle">
<level value="INFO" />
</logger>
</log4net>
</configuration>