【问题标题】:Log4Net Message logLog4Net 消息日志
【发布时间】:2012-03-06 00:25:22
【问题描述】:

我正在尝试将 log4net 用于我的网络服务。我面临的问题是,当我尝试同时发送多条消息时,它只是为第一条消息创建日志。

当我们一次只发送一条消息并等待消息到达侦听器时,日志工作正常。但是当我们同时发送多条消息时(不等待侦听器的响应),它只记录我发送的第一条消息。

这是我的配置。谁能告诉我我错过了什么:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>

    <log4net>
        <root>
            <level value="ALL" />
            <appender-ref ref="ArchiveRollingFileAppender" />
            <appender-ref ref="LogRollingFileAppender" />

        </root>

        <appender name="LogRollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <filter type="log4net.Filter.PropertyFilter">
                <key value="Source" />
                <stringToMatch value="Log" />
            </filter>
            <threshold value="OFF"/>
            <!--<lockingModel type="dndn.ebl.framework.logging.FileLock" />-->
            <filter type="log4net.Filter.DenyAllFilter" />
            <file type="log4net.Util.PatternString">
                <conversionPattern value="{LogFileName}"/>
            </file>
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="1MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%property{method}] - %message%newline" />
            </layout>
        </appender>
        <appender name="ArchiveRollingFileAppender" type="log4net.Appender.RollingFileAppender">
            <filter type="log4net.Filter.PropertyFilter">
                <key value="Source" />
                <stringToMatch value="Archive" />
            </filter>
            <threshold value="OFF"/>
            <!--<lockingModel type="dndn.ebl.framework.logging.FileLock" />-->
            <filter type="log4net.Filter.DenyAllFilter" />
            <file type="log4net.Util.PatternString">
                <conversionPattern value="{ArchiveFileName}"/>
            </file>
            <appendToFile value="true" />
            <rollingStyle value="Size" />
            <maxSizeRollBackups value="10" />
            <maximumFileSize value="1MB" />
            <staticLogFileName value="true" />
            <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%message%newline" />
            </layout>
        </appender>
    </log4net>
</configuration>

【问题讨论】:

    标签: c# logging log4net messages log4net-configuration


    【解决方案1】:

    您是否尝试将您的锁模型设置为

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    

    【讨论】:

    • 当我一次发送大约 10 条消息时,它为前 5 条和第 6 条文件创建单独的日志文件,使用第 6 条消息的 ID 创建,但它存储所有日志剩余的文件。你能告诉我为什么会这样吗???
    • 我在&lt;file&gt; 中没有使用PatternString 的经验。我总是使用&lt;file value="c:\staticpath\goes.here" /&gt;
    猜你喜欢
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多