博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 将文件嵌入DLL 。Log4net 配置
阅读量:5109 次
发布时间:2019-06-13

本文共 4114 字,大约阅读时间需要 13 分钟。

最近在弄使用Log4net记录日志。

将配置文件封装到的DLL中。

封装步骤:

1.将配置文件添加到类库中。

2.在配置文件上右键,选择属性。

3.

此时生成类库。DLL中就存在该配置文件啦。如图:

在类库中使用该配置文件:

      //获取配置文件全称           string str = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".Log4Net.config";           //读取配置文件           System.IO.Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(str);           log4net.Config.XmlConfigurator.Configure(stream);

附上使用Log4net全部代码

1.配置文件:Log4net.config

2.日志帮助类:LogHelper

public class LogHelper    {        public    static  LogHelper logHelper=new LogHelper();       private  readonly static ILog _errorLog = LogManager.GetLogger("ErrorLog");       private readonly static ILog _infoLog = LogManager.GetLogger("InfoLog");       private readonly static ILog _warnLog = LogManager.GetLogger("WarnLog");       private readonly static ILog _fatalLog = LogManager.GetLogger("FatalLog");       private  LogHelper()       {           //获取配置文件全称           string str = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name + ".Log4Net.config";           //读取配置文件           System.IO.Stream stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(str);           log4net.Config.XmlConfigurator.Configure(stream);       }        ///         /// 普通日志信息        ///         /// 日志内容        /// 位置跟踪        public  void InfoLog(string msg, string stackTrace)        {             Log(LogType.InfoLog, msg, stackTrace);        }        ///         /// 警告级日志信息        ///         /// 日志内容        /// 位置跟踪        public  void WarnLog(string msg, string stackTrace)        {            Log(LogType.WarnLog, msg, stackTrace);        }        ///         /// Error级日志信息        ///         /// 日志内容        /// 位置跟踪        public  void ErrorLog(string msg, string stackTrace)        {            Log(LogType.ErrorLog, msg, stackTrace);        }        ///         /// 致命级日志信息        ///         /// 日志内容        /// 位置跟踪        public  void FatalLog(string msg, string stackTrace)        {            Log(LogType.FatalLog, msg, stackTrace);        }        ///         /// 记录日志通用方法         ///         /// 所添加日志类型,LogType枚举        /// 所添加的日志信息        public  void Log(LogType ltype, params string[] logs)        {            string msg = string.Join("\n", logs);            switch (ltype)            {                case LogType.InfoLog: if (_infoLog.IsInfoEnabled) _infoLog.Fatal(msg);                    break;                case LogType.WarnLog: if (_warnLog.IsWarnEnabled) _warnLog.Fatal(msg);                    break;                case LogType.ErrorLog: if (_errorLog.IsErrorEnabled) _errorLog.Fatal(msg);                    break;                case LogType.FatalLog: if (_fatalLog.IsFatalEnabled) _fatalLog.Fatal(msg);                    break;            }        }    }    public enum LogType    {        ///         /// 普通日志        ///         InfoLog = 1,        ///         /// 警告级别日志        ///         WarnLog = 2,        ///         /// 错误级别日志        ///         ErrorLog = 4,        ///         /// 致命级别日志        ///         FatalLog = 8    }

 

转载于:https://www.cnblogs.com/mrma/p/4482059.html

你可能感兴趣的文章
HTML5——新表单元素 表单属性 语义元素
查看>>
CSS3—— 分页 框大小 弹性盒子 多媒体查询 多媒体查询实例
查看>>
使用反射获取Android中隐藏的方法
查看>>
【原创】Leetcode -- Reverse Linked List II -- 代码随笔(备忘)
查看>>
人脸识别技术开发人证比对访客系统
查看>>
Android之人脸识别
查看>>
HDU 5340——Three Palindromes——————【manacher处理回文串】
查看>>
二叉树的下一个节点
查看>>
Nginx配置文件详细说明
查看>>
遇到的Mysql的一个坑
查看>>
AC日记——「HNOI2017」单旋 LiBreOJ 2018
查看>>
vue总结
查看>>
真机调试的准备工作介绍
查看>>
(笔记)Linux内核学习(十一)之I/O层和I/O调度机制
查看>>
IIS注册 net环境
查看>>
P1242 新汉诺塔
查看>>
页面元素解绑click事件
查看>>
数据移植实验
查看>>
输入任意个数字求和的小程序
查看>>
How Many Tables
查看>>