无论设置了哪个级别,如何将一行写入 log4net 日志文件?
How do I write a line to a log4net log file, regardless which level is set?
无论当时设置了哪个日志级别,如何将条目写入 log4net 文件?
我可以确保添加一行的唯一方法是添加一个 'Fatal' 条目。这很丑陋,如果级别设置为 'Off'.
甚至会失败
例如:我想记录日志级别更改为'Error'。如果我会使用:
Logger.Log.Info($"LogLevel set to {logLevelText}");
那么如果level刚设置成'Error'就不会写这行了。
那么,有没有办法只在日志中写入一行?
这就是我在我的项目中使用它的方式。希望对你有帮助。
private static readonly log4net.ILog rootlog = log4net.LogManager.GetLogger("rootLogger");
rootlog.Info(string.Format("Service [{0}] has started.", this.ServiceName)); // info msg
rootlog.Error(string.Format("Get Tasks Unsuccessfull: {0}", response.MessageValue)); // error msg
没有。没有日志级别,您无法写入条目。但是,您可以在运行时操作日志级别。因此您可以暂时将日志级别设置为您需要的任何级别,只是为了确保您的消息已写入日志,然后恢复原始级别。有关详细信息,请参阅 this SO thread。
无论当时设置了哪个日志级别,如何将条目写入 log4net 文件? 我可以确保添加一行的唯一方法是添加一个 'Fatal' 条目。这很丑陋,如果级别设置为 'Off'.
甚至会失败例如:我想记录日志级别更改为'Error'。如果我会使用:
Logger.Log.Info($"LogLevel set to {logLevelText}");
那么如果level刚设置成'Error'就不会写这行了。
那么,有没有办法只在日志中写入一行?
这就是我在我的项目中使用它的方式。希望对你有帮助。
private static readonly log4net.ILog rootlog = log4net.LogManager.GetLogger("rootLogger");
rootlog.Info(string.Format("Service [{0}] has started.", this.ServiceName)); // info msg
rootlog.Error(string.Format("Get Tasks Unsuccessfull: {0}", response.MessageValue)); // error msg
没有。没有日志级别,您无法写入条目。但是,您可以在运行时操作日志级别。因此您可以暂时将日志级别设置为您需要的任何级别,只是为了确保您的消息已写入日志,然后恢复原始级别。有关详细信息,请参阅 this SO thread。