首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Common.Logging中配置布局

在Common.Logging中配置布局
EN

Stack Overflow用户
提问于 2014-03-26 16:17:05
回答 1查看 749关注 0票数 1

我目前正在使用Common.Logging和log4net。我已经实现了一个自定义的附录。

我试图将下面代码中指定的布局添加到我的日志中。但是当我在我的自定义附录中打印函数RenderLoggingEvent(loggingEvent)时,我只得到消息(但是没有时间戳,.)。

代码语言:javascript
复制
// create properties
// EXTERNAL expects log4net being configured somewhere else in
// your code and does nothing.
NameValueCollection properties = new NameValueCollection();
properties["configType"] = "EXTERNAL";

// set Adapter
Common.Logging.LogManager.Adapter = 
    new Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter(properties);

// create an object of the custom appender
var appender = new SimpleAppender();
appender.Name = "SimpleAppender";

// add layout to the appender
var layout = new log4net.Layout.PatternLayout()
{
    ConversionPattern = 
        "%date [%thread] %-5level %logger %ndc - %message%newline"
};
appender.Layout = layout;

//Let log4net configure itself based on the values provided
appender.ActivateOptions();
log4net.Config.BasicConfigurator.Configure(appender);

如果我在App.config文件中添加配置,它就能工作。但我需要一个基于代码的配置..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-26 20:29:05

您需要对布局和附录调用ActivateOptions

代码语言:javascript
复制
var layout = new log4net.Layout.PatternLayout()
{
    ConversionPattern = 
        "%date [%thread] %-5level %logger %ndc - %message%newline"
};

layout.ActivateOptions();
appender.Layout = layout;

样本输出:

代码语言:javascript
复制
2014-03-26 20:29:49,816 [1] DEBUG test logger (null) - log test
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22667048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档