我已经下载了最新版本的Quartz.Net,并尝试使用以下配置(基于this example)来配置common.logging和log4net dll。
<configSections>
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=2.1.2.400,Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4" />
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging, Version=2.1.2.0, Culture=neutral, PublicKeyToken=af08829b84f0328e" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<logging>
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
<arg key="configType" value="INLINE" />
</factoryAdapter>
</logging>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="MyQuartzLog.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<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="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
<quartz>
<add key="quartz.scheduler.instanceName" value="QuartzTestLog4Net" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="2" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
</quartz>
它不起作用。
<section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=2.1.2.400,Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4" />
导致组件加载错误。我使用sn.exe来检查publickeytoken。 keytoken是正确的。
删除石英可以使应用程序运行。但是日志对象具有NoOpLogger信息 - {Common.Logging.Simple.NoOpLogger}。
我的项目是指Common.Logging版本2.1.2.0; Common.Logging.Log4Net版本2.0.0.0;和log4net版本1.2.10.0。它们是正确的版本吗?如果没有,那么正确的是什么。
谢谢,
答案 0 :(得分:4)
您应该检查Quartz.NET发行版附带的示例服务器。
https://github.com/quartznet/quartznet/tree/master/server/Quartz.Server
<强> App.config中:强>
它是type =“System.Configuration.NameValueSectionHandler,System,Version = 1.0.5000.0,Culture = neutral,PublicKeyToken = b77a5c561934e089”
<强> Package.config 强>
你可能有错误的包裹。示例中的packages.config包含使用Log4Net 1.2.11时的工作组合