Working Experience - NLog 多实例时配置文件冲突
正文
问题: 当前项目已使用 NLog 的情况下再引用使用 NLog 的项目, 出现配置文件冲突, 有一个配置文件不工作
方法: 使用 LogFactory 代替 LogManager 来获取 Logger 实例
internal class MyLogManager
{
// A Logger dispenser for the current assembly (Remember to call Flush on application exit)
public static LogFactory Instance { get { return _instance.Value; } }
private static Lazy<LogFactory> _instance = new Lazy<LogFactory>(BuildLogFactory);
//
// Use a config file located next to our current assembly dll
// eg, if the running assembly is c:\path\to\MyComponent.dll
// the config filepath will be c:\path\to\MyComponent.nlog
//
// WARNING: This will not be appropriate for assemblies in the GAC
//
private static LogFactory BuildLogFactory()
{
// Use name of current assembly to construct NLog config filename
Assembly thisAssembly = Assembly.GetExecutingAssembly();
string configFilePath = Path.ChangeExtension(thisAssembly.Location, ".nlog");
LogFactory logFactory = new LogFactory();
logFactory.Configuration = new XmlLoggingConfiguration(configFilePath, true, logFactory);
return logFactory;
}
}
// 使用下面两个方法中的一个获取 Logger 实例
Logger logger = MyLogManager.Instance.GetCurrentClassLogger();
Logger logger = MyLogManager.Instance.GetLogger("name");
参考
Github -> NLog -> Configure component logging
Working Experience - NLog 多实例时配置文件冲突的更多相关文章
- EhCache WebCache 与 SpringMVC集成时 CacheManager冲突的问题
转自:点击打开链接 http://www.cnblogs.com/daxin/p/3560989.html EhCache WebCache 与 SpringMVC集成时 CacheManager冲突 ...
- 7、provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错
在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败.(provider: SQL 网络接口, error ...
- RHEL5.8使用yum安装应用时包冲突的处理
RHEL5.8使用yum安装应用时包冲突的处理办法记录,总体思路是如果发现包冲突的情形,那么就把冲突的包给删除掉,然后再重新使用yum安装即可. 冲突示例: Transaction Check Err ...
- 解决jqplot与jquery-ui导入必要包时的冲突
解决jqplot与jquery-ui导入必要包时的冲突 对于一个网页中,即要有jqplot的画图,又要有jquery-ui的风格显示! 但在导入必要的包时,出现了问题! 先导入jqplot的必要包: ...
- 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器
一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...
- Cloud Foundry中DEA启动应用实例时环境变量的使用
在Cloud Foundry v2中,当应用用户须要启动应用的实例时.用户通过cf CLI向cloud controller发送请求,而cloud controller通过NATS向DEA转发启动请求 ...
- 遇到问题----java----myeclipse或者eclipse发布的项目时配置文件不更新或者无配置文件
myeclipse或者eclipse发布的项目时配置文件不更新或者无配置文件. 正常的web项目有目录 src/main/resources 和 src/main/java 这两个目录默认在编译发布时 ...
- SVN更新或提交时出现冲突该如何解决
解决版本冲突的命令.在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新.冲突发生时,subversion会在WorkCopy中保存所有的目标文件版本(上 ...
- (转)创建DB2实例时出错,请大家帮忙解决
创建DB2实例时出错,请大家帮忙解决 原文:http://bbs.chinaunix.net/thread-3601748-1-1.html 运行:$DB2DIR/instance/db2icrt ...
随机推荐
- 使用服务端的临时密钥,不依赖阿里js的putFIle--》阿里oss
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <title> ...
- dm层 集市层 四层 Build a multi-level data strategy
集市层 四层模型 ODS(临时存储层) MID(中间层) DM(数据集市层) APP(应用层) http://www.datamartist.com/data-warehouse-vs-data-ma ...
- php总结1 ——php简介、工作原理、运行环境、文件构成、语法结构、注释
1.1 PHP 超文本预处理程序.实际就是制作网站的脚本程序 1.2 运行环境: wamp——windowns+apache+mySQL+php 常用于开发.学习和研究 lamp ——linu ...
- ABAP-创建物料主数据
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' *&------------------------------------------------------- ...
- Linux 下搭建 Sonatype Nexus Maven 私服
一.为什么需要搭建mave私服 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的 ...
- [egret+pomelo]实时游戏杂记(1)
[egret+pomelo]学习笔记(1) [egret+pomelo]学习笔记(2) [egret+pomelo]学习笔记(3) 资料 egret pomelo pomelo捡宝项目 准备工作 1. ...
- C++函数模板的显示调用与隐式调用
C++函数模板可以显示调用与可以隐式调用 首先定义函数模板: template <class T> inline const T& c_max (const T& a, c ...
- git删除远程分支【转】
本文转载自:https://my.oschina.net/tsingxu/blog/84601 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放 ...
- Spring Boot2.0之热部署原理
所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署 原理: 实用类加载器(classloader重新读取字节码文件到jvm内存) 如何纯手写一个热部署功能: 1.监听 cla ...
- openstack制作镜像官网地址
http://docs.ocselected.org/openstack-manuals/kilo/image-guide/content/ch_creating_images_automatical ...