日志文件不是使用log4net创建的
我已经下载了log4net.dll,并将其添加为服务参考。 我创建的一个项目有app.config,我在其中进行了以下配置日志文件不是使用log4net创建的,log4net,app-config,log4net-configuration,Log4net,App Config,Log4net Configuration,我已经下载了log4net.dll,并将其添加为服务参考。 我创建的一个项目有app.config,我在其中进行了以下配置 <?xml version="1.0"?> <configuration> <configSections> <section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/> </configSect
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="C:\\Users\\<myid>\\Desktop\\error.log"/>
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
</appender>
<root>
<level value="ALL" />
<appender-ref ref="RollingFileAppender" />
</root>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.serviceModel>
<bindings />
<client />
</system.serviceModel>
</configuration>
这是在分部类和我在这里使用的日志记录中实现的
private void Entry_Load(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
logger.Debug("logged");
}
我补充说
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "app.config", Watch = true)]
在Assemblyinfo.cs类中
并且在main.cs类中也添加了这个
static void Main(string[] args)
{
log4net.Config.XmlConfigurator.Configure();
logger.Debug("app started");
}
日志文件本身并没有创建,当我调试它时,它会正确地运行这些代码。
对于使用.net 4.0 c#的桌面应用程序,我正在使用log4net.dll版本1.2.13。
如何实现这一点?您已经用3种不同的方式初始化了log4net,请首先选择如何初始化和配置log4net。使用System.Configuration API配置应用程序的唯一方法是调用log4net.Config.XmlConfigurator.configure()。因此,必须删除assembly:log4net属性。如果要使用log4net配置文件,最好通过assembly.cs中的属性来实现。最后一种方法使您能够在应用程序运行时更改配置
@peer是正确的,您需要选择一种配置log4net的方法并正确使用它 我认为您的直接问题是您已经在程序集属性中指定了
app.config
作为配置文件,但是您必须指定your\u app\u name.exe.config
,因为这将是项目生成后的文件名(名称将根据应用程序的实际名称而有所不同,请查看生成输出目录以查看其名称)
或者,作为“”,只需完全忽略ConfigFile属性:
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
(文档说明,可以查看app.config文件,只要您将文件信息传递给ConfigureAndWatch
或使用程序集属性。)
但是,如果您还有任何问题,请使用配置中的声明
将log4net设置为调试模式,并在运行时检查跟踪输出是否存在任何报告的配置问题。在使用程序集属性配置log4net时,您可以使用app.config
文件-从链接:“如果未指定ConfigFile或ConfigFileExtension属性,则应用程序配置文件(例如TestApp.exe.config)将用作log4net配置文件。“@stuartd-我现在创建了一个新的log4net.config文件来管理设置。我是否也应该添加下载log4net.dll时的.xml文件?@stuartd-是的,在阅读手册后可以进行配置现在我可以创建和记录了。
[assembly: log4net.Config.XmlConfigurator(Watch=true)]