首页 / C# / c# – NLog.更改班级名称
c# – NLog.更改班级名称
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – NLog.更改班级名称,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含838字,纯文字阅读大概需要2分钟。
内容图文
![c# – NLog.更改班级名称](/upload/InfoBanner/zyjiaocheng/784/997622a6d9b84d70a932b25cbb138dff.jpg)
我想知道是否有任何方法可以在运行时更改记录器实例的类名?我不想在每个类中创建记录器,而是通过构造函数注入它.但是在我这样做之后,我得到了错误的类名,它调用了这个事件.项目结构是这样的
public class c1
{
private Logger _logger = LogManager.GetCurrentClassLogger();
public void doSmth()
{
c2 myC2= new c2(_logger);
myC2.LogSomething();
}
public void LogSomething()
{
_logger.Info("c1 test");
}
}
public class c2
{
private Logger _logger;
public c2(Logger logger)
{
this._logger = logger;
}
public void LogSomething() {
_logger.Info("c2 test");
}
}
一切都很好,但在日志文件中我们得到
2011-09-07 09:33:59.7521|INFO|c1|c1 test
2011-09-07 09:33:59.7611|INFO|c1|c2 test
解决方法:
使用${callsite}渲染器而不是${logger}布局渲染器.
<target xsi:type="Trace"
name="t"
layout="${callsite:className=true:includeSourcePath=false:methodName=false}
| ${message}" />
这应该产生您的预期结果.
内容总结
以上是互联网集市为您收集整理的c# – NLog.更改班级名称全部内容,希望文章能够帮你解决c# – NLog.更改班级名称所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。