首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Log4Net不断地将Quartz.Net日志写入控制台。

Log4Net不断地将Quartz.Net日志写入控制台。
EN

Stack Overflow用户
提问于 2014-11-20 02:13:19
回答 1查看 1.5K关注 0票数 0

我在用Quartz.net。目前,我在将log4net配置为将日志写入文件时出现问题。它不断地将日志条目写入控制台。

这是我的App.config:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<configuration>

    <configSections>
        <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <sectionGroup name="common">
            <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
        </sectionGroup>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <common>
        <logging>
            <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1211">
                <arg key="configType" value="INLINE" />
            </factoryAdapter>
        </logging>
    </common>

    <log4net>

        <appender name="FileAppender" type="log4net.Appender.FileAppender">
            <file type="log4net.Util.PatternString" value="Logs\Main-%date{yyyy-MM-dd_HH-mm-ss}.log" />
            <appendToFile value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date [%2thread] %-5level - %message%newline" />
            </layout>
        </appender>

        <root>
            <level value="DEBUG" />
            <appender-ref ref="FileAppender" />
        </root>

    </log4net>

    <quartz>
        <add key="quartz.scheduler.instanceName" value="MyScheduler" />
        <add key="quartz.threadPool.threadCount" value="3" />
        <add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
    </quartz>

</configuration>

下面是我如何在c#代码中设置记录器:

代码语言:javascript
复制
var nameValueCollection = new Common.Logging.Configuration.NameValueCollection();
var adapter = new Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter(nameValueCollection);                
Common.Logging.LogManager.Adapter = adapter;

我现在没什么主意了。会感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-20 09:23:21

配置看起来是正确的。最有可能的情况是手动设置Common.Logging.LogManager.Adapter覆盖配置中设置的适配器。

我将Quartz.net与配置几乎完全相同的log4net适配器一起使用,它的工作方式与预期一样,无需在代码中使用任何Common.Logging API。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27030568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档