我正在运行一些单元测试,我希望log4net将所有内容都记录到控制台(仅供检查).按照手册,我使用了:
BasicConfigurator.Configure();
但是,这会将日志记录模式设置为%-4timestamp [%thread]%-5level%logger%ndc-%message%newline.如何更改它,以便获得通常的日期和时间(最多毫秒)而不是时间戳?
解决方法:
您可以从记录器存储库中获取ConsoleAppender并更改其布局:
BasicConfigurator.Configure();
var appender = LogManager.GetRepository()
.GetAppenders()
.OfType<ConsoleAppender>()
.First();
appender.Layout = new PatternLayout("%d %-5level %logger - %m%n"); // set pattern
ILog logger = LogManager.GetLogger(logger_name); // obtain logger
但是首选通过配置文件进行配置,因为您可以更改设置而无需重新编译测试.