我想知道是否可以显式调用start info log写入日志文件。如果我使用Info方法并且Level将被设置为WARN,则不会在我请求的点处写入日志。非常感谢您的回答。
修改 感谢@ stuartd的回答,我终于通过以下配置解决了它:
<logger name="InfoLogger" additivity="false">
<level value="INFO"/>
<appender-ref ref="RollingFileAppender"/>
</logger>
<root>
<level value="WARN"/>
<appender-ref ref="RollingFileAppender"/>
</root>
和这段代码:
private static readonly log4net.ILog rootLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private static readonly log4net.ILog infoLogger = log4net.LogManager.GetLogger("InfoLogger");
private static readonly log4net.ILog log = infoLogger != null && (rootLogger == null || !rootLogger.IsInfoEnabled) ? infoLogger : rootLogger;
static App()
{
log.Info("[Application start]");
}
答案 0 :(得分:0)
您有多种选择,但最简单的方法是在INFO
级别设置一个单独的记录器,仅用于标题文本:
var infoLogger = LogManager.GetLogger("InfoLogger");
var yourLogger = LogManager.GetLogger("Your_Logger_Name");
// app start
infoLogger.Info("App started");
// in the app
yourLogger.Warn("Bad things happened");
如果您坚持如何配置,请将现有配置编辑到问题中。