【问题标题】:How to configure Quartz.Net version 2.1.2.0 integrated with Log4Net如何配置与 Log4Net 集成的 Quartz.Net 2.1.2.0 版
【发布时间】:2013-03-11 03:51:04
【问题描述】:

我已经下载了最新版本的 Quartz.Net 并尝试使用以下配置使用 common.logging 和 log4net dll 对其进行配置(基于this example

<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>

它不起作用。

&lt;section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=2.1.2.400,Culture=neutral, PublicKeyToken=f6b8c98a402cc8a4" /&gt;

导致组件加载错误。我使用 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。它们是正确的版本吗?如果不是,什么是正确的。

谢谢,

【问题讨论】:

    标签: web-config log4net quartz.net log4net-configuration common.logging


    【解决方案1】:

    您应该检查 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"

    • NameValueSectionHandler 是 BCL 类型,不是 Quartz.NET 的
    • 您可以省略版本和公钥

    Package.config

    您可能有错误的包裹。示例中的 packages.config 包含使用 Log4Net 1.2.11 时的工作组合

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2012-06-14
    相关资源
    最近更新 更多