C# 代码 手工 配置 Log4Net 2种方法
这个初始化要在 获取 ILog 接口的代码之前完成, 之后按通常方式使用 log4net 就行了.
不用携带 config 配置文件.
方法1:
- /// <summary>
- /// 使用文本记录异常日志
- /// </summary>
- /// <Author>Ryanding</Author>
- /// <date>2011-05-01</date>
- public void LoadFileAppender()
- {
- string currentPath = AppDomain.CurrentDomain.BaseDirectory;
- currentPath = Path.Combine(currentPath, @"Log");
- string txtLogPath = Path.Combine(currentPath, "ErrorLog.txt");
- log4net.Repository.Hierarchy.Hierarchy hier =
- (log4net.Repository.Hierarchy.Hierarchy)log4net.LogManager.GetRepository();
- if (hier != null)
- {
- FileAppender fileAppender = new FileAppender();
- fileAppender.Name = "LogFileAppender";
- fileAppender.File = txtLogPath;
- fileAppender.AppendToFile = true;
- PatternLayout patternLayout = new PatternLayout
- {
- ConversionPattern =
- "记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"
- };
- patternLayout.ActivateOptions();
- fileAppender.Layout = patternLayout;
- //选择UTF8编码,确保中文不乱码。
- fileAppender.Encoding = Encoding.UTF8;
- fileAppender.ActivateOptions();
- BasicConfigurator.Configure(fileAppender);
- }
- }
方法2:
- static bool InitializeLogSystem()
- {
- // 通过配置文件偷来的配置项
- //<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
- // <file value="Data/RollingLogFile.log" />
- // <appendToFile value="true" />
- // <maxSizeRollBackups value="3" />
- // <maximumFileSize value="1MB" />
- // <rollingStyle value="Size" />
- // <staticLogFileName value="true" />
- // <layout type="log4net.Layout.PatternLayout">
- // <conversionPattern value="%date [%thread] %-5level %logger [%property{url}] - %message%newline" />
- // </layout>
- //</appender>
- log4net.Appender.RollingFileAppender appender = new log4net.Appender.RollingFileAppender();
- // winform 的取路径方式呢
- appender.File = System.IO.Path.Combine(Application.StartupPath, "RollingLogFile.log");
- appender.AppendToFile = true;
- appender.MaxSizeRollBackups = ;
- appender.MaximumFileSize = "1MB";
- appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Size;
- appender.StaticLogFileName = true;
- appender.Layout = new log4net.Layout.PatternLayout("%date [%thread] %-5level - %message%newline");
- appender.ActivateOptions();// 这个要调用一下呢
- log4net.Config.BasicConfigurator.Configure(appender);
- return true;
- }
C# 代码 手工 配置 Log4Net 2种方法的更多相关文章
- Notepad++去除代码行号的几种方法
Notepad++去除代码行号的几种方法 (转自:http://hi.baidu.com/beer_zh/item/e70119309ee587f2a8842892)问:在网页中复制代码时,常常遇到高 ...
- 【Java】java数据库连接池配置的几种方法
今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META- ...
- yum源配置的三种方法
(一)yum源概述 yum需要一个yum库,也就是yum源.默认情况下,CentOS就有一个yum源.在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者 ...
- FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)
使用主动串行配置模式对Cyclone FPGA进行配置前,必须将配置文件写入串行配置器件EPCS.将配置文件写入EPCS的方法有三种: (1)在Quartus II的Programmer中,通过专门与 ...
- Linux系统下安装jdk及环境配置(两种方法)
https://blog.csdn.net/qq_42815754/article/details/82968464 这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装j ...
- .NET微信开发 配置微信公众号基本配置的几种方法
自己最近搞了公众号,记录一下. 目的就是为了在微信公众号里启用服务器配置. 微信文档 其实微信文档已经写得很清楚了,也很简单.(微信的目的就是它发送一个get请求,希望我们能接受一下,然后给微信回个数 ...
- uiautomator2.0的配置的两种方法
方法一(使用在线下载的方式导入依赖): 1.首先创建项目工程,创建的项目的android_api版本要与测试的android_api版本一致(24就是24 ,不能26或者17去兼容) 2.然后就是将本 ...
- 关于 cmd 控制台默认代码页编码的几种方法
造成的中文及特殊字符乱码. 第一种:临时性修改编码 使用 chcp 命令,例如 chcp 65001 ,这回将当前代码页变为 utf-8编码,不过这种方式在关闭 cmd 之后会自动失效. 常用的编码及 ...
- SNMP安全配置的两种方法(也可同一时候兼顾配置两种方法)
方法一(最简单安装): 安装 Net-SNMP CentOS及其他RedHat系列产品提供了net-snmp的二进制包.我们能够直接从源里安装. shell> yum install net-s ...
随机推荐
- Handler嵌套--可以
package com.example.handlernestdemo; import android.support.v7.app.ActionBarActivity; import android ...
- jquery的attr和prop区别之实例
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. html文件 <tr> <th>& ...
- selenium 调用方法
#coding:utf-8 from selenium import webdriver url = "http://demo.testfire.net" chrome_optio ...
- setInterval/setTimeout传参方法
网上文章说有3种方法,对于我来说一种方法就够了: <script> var user_name='离间计' //定时器 异步运行 function hello(name){ alert(n ...
- JComboBox添加item的赋值类型问题!不一致的话会导致不能更改jcombobox的选择值
在用swing做页面的时候,往往需要设置字体样式,那么,如何用一种方法设置字体之后,在后面的其他页面就不需要再次设置字体了呢? 下面这个方法就可以解决了: JComboBox在对它进行添加子项的时候, ...
- java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查
一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...
- 在elasticsearch里如何高效的使用filter
今天在做查询category的时候,遇到一个问题,查询出来的cateogry为food,fun的形式.但是我需要的只是food或者fun 不包含逗号. 开始想着在aggs后再做过滤,这样有些麻烦.遂在 ...
- JMeter接口测试中文乱码问题总结
在测试过程中遇到了请求json串中文乱码,所以查看了这篇文章,将字符集修改后,乱码问题已经处理. 转载http://blog.csdn.net/qing_java/article/details/69 ...
- shell 重定向输入
#!/bin/bash NC_START="nc 192.168.76.227 9999" LOOP= ;i<$LOOP;i++)) do $NC_START << ...
- C3:建造者模式 Builder
将一个复杂对象的创建与表示分离,使得同样的构建过程可以创建不同的表示. 应用场景: A.创建这个对象通常需要较多的参数,才能完整的表示该对象.B.类的各个组成部分的具体实现类或算法经常面临变化,但将他 ...