Log4net在发布模式下无法记录日志

3
在调试模式下 Log4net 可以正常记录日志,在发布模式下也可以正常记录日志。但问题是,如果我从其中一个特定类(仅一个)记录日志,则在发布模式下它不会记录日志(该类在调试模式下记录日志)。即使使用相同的记录器,其他类在发布模式下也可以正常记录日志。
以下是配置:
        <root>
            <level value="INFO" />
        </root>
        <logger name="Japt">
            <level value="DEBUG" />
            <appender-ref ref="JaptAuditLogDbAppender" />
        </logger>

我在调试模式和发布模式下使用同一个配置文件。

任何帮助都将不胜感激。


log4net不知道执行模式/实际调用exe的方式。我的猜测是你意外地编辑了错误的文件。(例如,发布模式将输出目录设置为调试)。 - weismat
我没有记录在文件中。我正在记录在数据库中。 - Bipul
在你遇到问题的类中,你是如何命名记录器的?(你是硬编码名称,还是动态确定名称?)或者也许一个好的测试是暂时将某些东西放入代码中以显示运行时记录器的名称(以验证它是否符合预期),并显示调用IsErrorEnabled函数(或任何其他命名)的结果,以查看它是否认为已启用。 - Mafu Josh
可能是重复问题-请查看https://dev59.com/QVHTa4cB1Zd3GeqPR3pC并确认是否是相同的问题。 - TrueWill
1个回答

0
如果所讨论的类很小且简单,它可以被优化器转换为内联代码。
如果是这种情况,那么我认为您可以添加一个属性来显示内联,例如:
[MethodImpl(MethodImplOptions.NoInlining)]
void Japt()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接