gpt4 book ai didi

c# - Topshelf log4net 无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:22 25 4
gpt4 key购买 nike

<分区>

我有一个使用 Topshelf 和 Log4net 的项目,当我运行该项目时,我看到一个新的日志文件,其中只包含有关服务创建、启动等的信息,我手动尝试的所有日志条目都没有添加到文件中。

应用程序配置

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" requirePermission="false"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Topshelf" publicKeyToken="b800c4cfcdeea87b" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.154.0" newVersion="3.3.154.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

<log4net>

<appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<param name="AppendToFile"
value="true" />
<file type="log4net.Util.PatternString" value="..\..\log\Topshelf.Host.%appdomain.log" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="4" />
<maximumFileSize value="10MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern"
value="%-5p %d{yyyy-MM-dd hh:mm:ss} - %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
</configuration>

程序.cs

public class Program
{
private static readonly ILog log = LogManager.GetLogger(typeof(Job));

static void Main(string[] args)
{
HostFactory.Run(c =>
{
log4net.Config.XmlConfigurator.Configure();

c.UseLog4Net();

c.ScheduleQuartzJobAsService(q =>
q.WithJob(() =>
JobBuilder.Create<Job>().Build())
.AddTrigger(() =>
TriggerBuilder.Create()
.WithSimpleSchedule(builder => builder
.WithIntervalInSeconds(5)
.RepeatForever())
.Build())
);

log.Info("Setting up the service");
});
}
}

工作.cs

public class Job : IJob
{
private readonly ILog log = LogManager.GetLogger(typeof(Job));

public void Execute(IJobExecutionContext context)
{
log.ErrorFormat("The current time is: {0}", DateTime.Now);
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com