log4net配置很多,具体配置步骤不细说,具体说出个人遇到的问题。

在winfrom和web应用程序中配置,在默认配置文件配置都没问题,因为EF也写在默认配置文件中,就会冲突解决办法就是将log4.config单独写个配置文件。个人在独立出来的时候,一直读取配置文件失败,整了老半天发现是配置文件-属性-复制到输出目录设置为不复制了。

具体配置步骤:

第一步:写配置文件(网上很多,本人贴下我的)记住设置:配置文件-属性-复制到输出目录设置为始终复制

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> <log4net>
<!--错误日志配置 :其中name 可以程序员自己定义,但是这个名字一定要和 <logger name="logerror">下面的
<appender-ref ref="ErrorAppender"/> 中 ref的值保持一致 -->
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件存储的位置是:Log\\LogError\\-->
<param name="File" value="Log\\LogError\\" />
<!--表示将内容以追加的形式,保存到日志文件中-->
<param name="AppendToFile" value="true" />
<!--每天的日志备份数可以有100个-->
<param name="MaxSizeRollBackups" value="" />
<!--表示每个日志文件的大小只能是10M-->
<param name="MaxFileSize" value="" />
<!--文件名称是固定格式的-->
<param name="StaticLogFileName" value="false" />
<!--文件名称是固定格式为:yyyyMMdd-->
<param name="DatePattern" value="yyyyMMdd" />
<!--每天都是以yyyyMMdd来进行命名文件-->
<param name="RollingStyle" value="Date" />
<!--设定写入的日志格式-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n " />
</layout>
</appender>
<logger name="logerror">
<!--这个节点注释掉就不会出现两次-->
<!--这个配置文件,如果配置成ALL:表示可以记录 、信息日志(Info) 、警告日志(Warn) 、错误日志(Error)-->
<level value="ALL"/>
<level value="ALL" />
<appender-ref ref="ErrorAppender" />
</logger> <root>
<level value="ALL" />
<appender-ref ref="ErrorAppender" />
</root>
</log4net>
</configuration>

第二步:引入log4net.dll文件。

第三步:写log4Helper帮助类,里面如果是在默认的配置文件写入的配置文件,直接调用,将构造函数注释打开,就可以调用了。单独配置需要第四步。

public class LogHelper
{
//通过配置文件的logerror 进行日志写入对象的实例化
//public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); //选择<logger name="logerror">的配置
private static log4net.ILog logerror = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);//动态获得名称 //在app.config中配置在构造函数中注册
static LogHelper()
{
//SetConfig();
} /// <summary>
/// 初始化web.config中的<log4net>节点中的配置
/// </summary>
public static void SetConfig()
{
log4net.Config.XmlConfigurator.Configure();
} /// <summary>
/// 写入信息日志
/// </summary>
/// <param name="msg"></param>
public static void WriteInfo(string msg)
{
if (logerror.IsInfoEnabled)//配置文件没有注册成功返回为false
{
logerror.Info(msg);
}
} /// <summary>
/// 写入错误日志
/// </summary>
/// <param name="msg"></param>
public static void WriteError(string msg)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(msg);
}
} public static void WriteWran(string msg)
{
if (logerror.IsWarnEnabled)
{
logerror.Warn(msg);
}
}
}

第四步:在Properties中加入如下配置:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
目的是在项目启动的时候就会去读取配置文件。(web程序加的代码不一样)

OK配置成功。

log4net独立配置文件配置(winfrom)的更多相关文章

  1. log4net保存到数据库系列二:独立配置文件中配置log4net

    园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一.WebConfig中配置log4net 一.WebConfig中配置log4ne ...

  2. log4net 配置文件配置方法

    转自:http://www.dozer.cc/2013/06/log4net-config-file-order/ 最近把项目中所有的日志都改成了 log4net ,同事也蠢蠢欲动,用起了 log4n ...

  3. 【log4net】配置文件

    相关资料: http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 注意: //如果为了使得应用程序的配置文件(web/app.con ...

  4. log4net架构、配置、使用

    架构说明 架构说明 上图是官方文档的提供的代码组织. Log4net的核心组件有: Logger, Appender, Filter, Layout, Object Render, Logger介绍 ...

  5. 【log4net】配置文件解释

    ASP.NET MVC 1.web.config: <configSections> <section name="log4net" type="log ...

  6. 关于log4net日志的配置流程

    最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...

  7. Log4Net 的简要配置

    引用log4net.dll AssemblyInfo.cs中 [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyF ...

  8. IOC容器Unity的使用及独立配置文件Unity.Config

    [本段摘录自:IOC容器Unity 使用http://blog.csdn.net/gdjlc/article/details/8695266] 面向接口实现有很多好处,可以提供不同灵活的子类实现,增加 ...

  9. asp.net core 将配置文件配置迁移到数据库(一)

    asp.net core 将配置文件配置迁移到数据库(一) Intro asp.net core 配置默认是项目根目录下的 appsettings.json 文件,还有环境变量以及 command l ...

随机推荐

  1. vue 跨域访问http

    axios用法: npm install axios --save-dev 2.导入: import axios from 'axios'; 3.使用($(form)需要先按装jQuery) axio ...

  2. SpringBoot11 读取properties文件、发送邮件

    1 读取properties文件 1.1 ResourceBundle 帮助我们事先国际化 1.1.1 前提 properties文件的命名方式必须体现除语言和国别 例如:test_zh_CN.pro ...

  3. ubuntu16安装pylearn2 出现错误提示importerror:no module named six.moves

    由于市面上的一些教程时间比较早,入门学习时跟随教程安装容易出现各种错误,这些错误基本都是版本不同导致的 所以,我们安装过程中一定要指出包的版本,如果你已经遇到no module named six.m ...

  4. Matlab 摄像机标定+畸变校正

    博客转载自:http://blog.csdn.net/Loser__Wang/article/details/51811347 本文目的在于记录如何使用MATLAB做摄像机标定,并通过opencv进行 ...

  5. Luogu 3332 [ZJOI2013]K大数查询

    BZOJ 3110 很早就想写的试炼场题. 不会整体二分啊呜呜呜,只能写写树套树. 有一个trick就是外层使用一个权值线段树,把位置作为下标的线段树放在内层,这样子的话我们在查询$k$大的时候就可以 ...

  6. SDUT 3341 数据结构实验之二叉树二:遍历二叉树

    数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知二叉 ...

  7. 查看Linux各发行版本方法

    SUSE: cat /etc/SuSE-release   Slackware: cat /etc/slackware-version   Redhat: cat /etc/redhat-releas ...

  8. 最常用的15个前端表单验证JS正则表达式

    在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了15个常用的JavaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份 ...

  9. DotNetty 版 mqtt 开源客户端 (MqttFx)

    一.DotNetty背景介绍 某天发现 dotnet  是个好东西,就找了个项目来练练手.于是有了本文的 Mqtt 客户端   (github:  MqttFx ) DotNetty是微软的Azure ...

  10. EIP-uni-app框架-建立项目

    uni-app介绍 uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台.uni-app在跨端数量,扩展能力, ...