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, 相关变量的数据类型为…

深入浅出requireJS-1

我们都知道&#xff0c;虽然我们可以通过原型和继承来使javascript面向对象。但是&#xff0c;当js代码和逻辑过多时&#xff0c;代码的维护和扩展会变的很不方便。这时&#xff0c;nodejs做的非常好&#xff0c;但是在浏览器端模块化的js编程一直都是个难题。而requireJS就是来…

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

来源&#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…

javascript excel

js做的 excel &#xff0c; http://handsontable.com/ js keyCode对照表 http://dwz.cn/Lknbz转载于:https://www.cnblogs.com/qq-757617012/p/4524448.html

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

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

从‘一边拉琴,一边哭’,看什么是真正的兴趣

记得填报志愿时&#xff0c;自己不知道对啥感兴趣&#xff08;现在依然不知道&#xff09;。那时特别简单&#xff0c;自己喜欢折腾家里的旧电器&#xff0c;就自以为对电子专业非常感兴趣。被模电数电&#xff08;电子方向的专业必修课&#xff09;折腾一番后&#xff0c;自己…

Python语言学习笔记

获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte Python将很快成为你最喜欢的编程语言&#xff01; Qt库&#xff1f; PyQt Perl-Qt 简单易学&#xff0c;功能强大&#xff0c;高效率的高层数据结构&#xff0c;简单而有效地实现面向对象编程。 Pyth…

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 …

如何让学习变得像游戏一样好玩

如何让学习变得好玩&#xff1f;面对枯燥乏味的重复练习&#xff0c;大多数人因新奇感的消退而放弃&#xff0c;很少有人能够多坚持一会&#xff0c;更别说坚持十年了。 如何减轻这种枯燥乏味&#xff0c;让学习变得好玩&#xff1f; 许多孩子喜欢打游戏&#xff0c;玩得废寝…

【翻译】Ext JS 5:为不同设备设置不同的主题

原文&#xff1a;Sencha Ext JS 5: Supporting Different Themes for Different Devices 步骤1创建一个应用程序步骤2定义主题步骤3编辑Appjson文件以便支持多平台生成步骤4编辑output定义以便创建多个应用程序的manifests步骤5更新应用程序步骤6替换Appjson中的CSS配置步骤7替…

工业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;…

Android(java)学习笔记27:TextView属性大全

TextView属性大全&#xff1a; android:autoLink 设置是否当文本为URL链接/email/电话号码/map时&#xff0c;文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置&#xff0c;将自动执行输入值的拼写纠正。此处无效果&#xff…

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

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