log4net 小记

突然想到想测试一下log4net,结果折腾了两天,才弄出来.....记录下来以备以后查看

背景:vs2013 mvc项目中想体验下log4net的功能(主要是文件记录)

翻看了log4net的相关资料,才发现其实它是有很多功能的,可以把日志记录到一个文本,或是按日期,大小分多个文本记录,还可以记录到数据库,输出到控制台.....等等,这些内容有很多,就不说了,主要说要我自己的碰到的坑。

这里有详细的直接在mvc 项目文件中集成使用log4net的介绍,我是觉得好麻烦啊,和以前在vs2010 上弄的完全麻烦多了(这里没有考虑把log4net 和 Common.logging 一起使用,一起使用时配置就不用那么麻烦了)

我主要是要提出来作为一个模块来配置,新建一个类库,在NuGet里面引用log4net

新建一个LogHelper 类

 1  public class LogHelper
 2     {
 3 
 4         public static void WriteLog(Type t, Exception ex)
 5         {
 6             log4net.ILog logger = log4net.LogManager.GetLogger(t);
 7             logger.Error("Error", ex);
 8         }
 9 
10 
11         public static void WriteLog(Type t, string msg)
12         {
13             log4net.ILog log = log4net.LogManager.GetLogger(t);
14             log.Error(msg);
15             log.Debug(msg);
16             log.Info(msg);
17             log.Warn(msg);
18         }
19     }
View Code

mvc项目 引用该类库,然后添加log4net的配置。

配置可以分开来写,web.config里面一部分和自定义的xxx.config文件一部分;也可以一起全部写在web.config里面

不管怎么写配置文件,web.config里面的<configSections>节点里面一定要添加log4net,这里展示的是把<log4net>节点写在web.config里面

<log4net><!--错误日志配置--><appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="D:\\xxxx\\LogError\\" /><param name="AppendToFile" value="true" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaxFileSize" value="10240" /><param name="StaticLogFileName" value="false" /><param name="DatePattern" value="yyyy-MM-dd.'log'" /><param name="RollingStyle" value="Date" /><param name="BufferSize" value="1" /><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n " /></layout></appender><!--信息日志配置--><appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="D:\\xxxx\\Log\\LogInfo\\" /><param name="AppendToFile" value="true" /><param name="MaxFileSize" value="10240" /><param name="MaxSizeRollBackups" value="-1" /><param name="StaticLogFileName" value="false" /><param name="DatePattern" value="yyyy-MM-dd.'log'" /><param name="RollingStyle" value="Date" /><param name="BufferSize" value="100" /><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n" /></layout></appender>
</log4net>

 

还可以单独把<log4net>节点里的内容提取出来放到自定义的xxx.config 文件中

光这样还是不行的,有个注意的地方

 

转载于:https://www.cnblogs.com/JsonYang/p/4522460.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于找工作和选专业的思考

个人的成长离不开国家的发展&#xff0c;国家的发展离不开国际的大气候。 国家之间的竞争主要归于经济竞争&#xff0c;经济的核心在于产业&#xff0c;产业的核心则在于科学和技术。 无论是找工作还是选专业&#xff0c;赌的都是对未来趋势的预测&#xff0c;没有人会希望自己…

DARPA 2020财年研发预算 人工智能应用研究投资急剧增长

来源&#xff1a;美国国防部等摘要&#xff1a;2019年3月&#xff0c;特朗普政府公布2020财年预算申请。根据预算法案&#xff0c;2020财年美国国家安全预算总额增加340亿美元&#xff0c;达到7500亿美元&#xff0c;比上年增加5%。美国防部分得的经费为7180亿美元&#xff0c;…

使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour

1、函数 这里使用2D Michalewicz 函数&#xff0c;其表达式为&#xff1a; 2、画图 2.1 编写2D Michalewicz 函数 f(x,y)(-sin(x).*(sin(x.^2/3.1415926)).^(2*m)...-sin(y).*(sin(2*y.^2/3.1415926)).^(2*m)); 上述代码使用到了Anonymous Functions, 相关变量的数据类型为…

科创板:中国科技产业新引擎

来源&#xff1a;国信研究作者&#xff1a;杨均明&#xff0c;国信证券经济研究所所长万众期待的上海证券交易所科创板即将推出&#xff0c;科创板股票发行审核规则第三条要求&#xff0c;发行人申请股票首次发行上市&#xff0c;应当符合科创板定位&#xff0c;面向世界科技前…

粒子群优化算法(Particle Swarm Optimization)的 Matlab(R2018b)代码实现

这里以 2D Michalewicz function 为对象来演示粒子群算法。 1、Michalewicz function 2、代码详解 2.1 画Michalewicz函数的网格图形 f(x,y)(-sin(x).*(sin(x.^2/3.1415926)).^(2*m)...-sin(y).*(sin(2*y.^2/3.1415926)).^(2*m));range[0 4 0 4]; Ngrid100; dx(range(2)-ran…

中金人工智能报告:AI时代,10 年之后我们还能干什么?|71页完整报告

来源&#xff1a;黑科技智汇中金公司&#xff08;CICC&#xff09;发布了一份长达 71 页的人工智能的证券研究报告《人工智能时代&#xff0c;10 年之后我们还能干什么&#xff1f;》。对全球特别是中国企业当下的人工智能态势作了全面的介绍&#xff1a;包括 BAT、华为、科大讯…

UC伯克利新机器人成果:灵活自由地使用工具

来源&#xff1a;AI 科技评论摘要&#xff1a;前几天我们刚刚介绍了加州大学伯克利分校 Pieter Abbeel 教授领导伯克利机器人学习实验室&#xff08;UC Berkeleys Robot Learning Lab&#xff09;开发的会叠衣服的家务向机器人 BLUE&#xff0c;今天伯克利人工智能实验室&#…

bzoj 1934 最小割

收获&#xff1a; 1、流量为0的边可以不加入。 2、最小割方案要与决策方案对应。 1 #include <cstdio>2 #include <cmath>3 #include <cstring>4 #include <vector>5 #define min(a,b) ((a)<(b)?(a):(b))6 #define oo 0x3f3f3f3f7 #define N 6108 …

工业4.0:数字化供应链的三个方向

来源&#xff1a;资本实验室席卷全球的工业4.0革命几乎影响着每一个行业&#xff0c;包括各行业的供应链管理。在过去&#xff0c;供应链管理是令各行业都非常头疼的环节&#xff0c;因为传统供应链涉及大量模糊且无法访问的数据&#xff0c;就像”黑洞“一样吞噬着成本、时间与…

有效学习

怎样算有效学习&#xff1f; 记得有位大咖说过&#xff0c;‘当你把受过的教育都忘记了&#xff0c;剩下的就是教育’&#xff08;度娘说是爱因斯坦说的&#xff0c;此处未经考证&#xff09;。 学习可以看成是一个把知识放入潜意识的过程。所谓进入潜意识&#xff0c;是指当…

如果机器能帮我们学习,那么有多少东西能够被遗忘?

来源&#xff1a;原理在我还是个学生时的遥远年代&#xff0c;大多数计算机都还是体型巨大的机器。当时我有一个朋友&#xff0c;他的博士导师坚持让他对一个冗长又困难的原子理论进行手写计算。他用掉了一页又一页的草稿纸&#xff0c;上面充满了错误。于是最终他屈服于自己的…

如何通俗理解计算机视觉、计算机图形、图像处理之间的区别与联系

这三者之间联系和区别可以通过下图表示&#xff0c; 左边的图片表示实际景物&#xff0c;右边图片表示实际景物对应的图片。 1、计算机图形 计算机图形技术常用于计算机生成图形。该技术常用的领域有&#xff1a; a.动漫 b.游戏 c.计算机辅助设计&#xff08;CAD&#xff09;…

日本电信企业5G部署计划 限制了华为中兴设备的使用

来源&#xff1a;OFweek电子工程据外媒报道&#xff0c;日本监管机构日前正式向日本电信企业分配5G频谱&#xff0c;而这也正是日本在来年春季推出高速无线服务(5G)的一个重要里程碑。日本三大运营商NTT Docomo、KDDI和软银&#xff0c;以及新进入者Rakuten Inc&#xff0c;都获…

Python安装工具包踩过的坑

1、背景介绍 重装win10系统&#xff0c;重装Python。在坑出现之前&#xff0c;已经完成了Python的安装&#xff08;D盘&#xff09;&#xff0c;并且在系统中添加了环境变量。由于平时需要用到Python2.7和Python3.6&#xff0c;这里将对应的解释器分别改名为Python2和Python3。…

物联网面临的7大网络安全威胁

来源&#xff1a;51CTO译稿摘要&#xff1a;曾经在物联网世界&#xff0c;一切都变得更加庞大。不仅是设备本身——有些小到只容纳几个芯片&#xff0c;他们通常隐藏其中&#xff0c;眼不见心不烦。但物联网中庞大的数据和设备规模令任何网络安全专业人士都感到头疼。据广泛统计…

从技术分工的角度来看996.ICU

最近&#xff0c;Github上996.ICU话题自诞生以来异常火爆&#xff0c; 很多人在网上吐槽程序员工作时间长&#xff0c;Python之父也为此伸张正义。 有人在网上抱怨资本家黑心&#xff0c;无情的压榨剥削员工。 各国都存在加班的现象&#xff0c;但似乎加班现象在中国最为严重。…

谷歌自动驾驶专利大曝光!

来源&#xff1a;智车科技摘要&#xff1a;本文仅针对其中自动驾驶汽车部分&#xff0c;说明自动驾驶的分级&#xff0c;再以Google为例&#xff0c;说明其发展的自动驾驶汽车和相关技术&#xff0c;分析及说明Google与自动驾驶汽车相关的发明专利及设计专利的布局&#xff0c;…

(Python代码)通过视差图获取图片中不同物体的高度比

1、原理 可以推出不同物体的高度比可以通过如下公式得到&#xff1a; 是左边指定物体的高度&#xff08;图片中尺寸&#xff09; 是右边指定物体的高度&#xff08;图片中尺寸&#xff09; 是左边指定物体的平均视差值 是右边指定物体的平均视差值 2、代码逻辑框图 3、代码详解…

一文读懂生物医学领域的传感器

来源&#xff1a;传感器技术摘要&#xff1a;生物医学传感器是生物医学科学和技术的尖兵&#xff0c;生物医学研究的正确结论有赖于生物医学传感器的正确测量。而传感器是一门十分综合的科学和技术。现代传感器的物理模型如图所示&#xff1a;对于传统被测量而言&#xff0c;敏…

训练数据的分布对F-measure, recall 和 precision的影响

1、 Precision, recall and F-measure&#xff08;f1-score&#xff09; 2、思路 数据集&#xff1a;手写数字集 从训练集中抽取数据&#xff0c;保证每种label的数量一致&#xff0c;使用SVM 或ANN模型训练新数据集。按照高斯分布抽取新数据&#xff0c; 再次使用SVM 或ANN模…