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 = 3;
      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;
    }
时间: 2024-10-31 05:03:58

C# 代码 手工 配置 Log4Net 2种方法的相关文章

代码提交Github的3种方法

我在csdn中写的相关文章,有兴趣可以查看,请点击下方链接(因为都是原创博客,有时候会有写错的地方, 所以就统一维护一份,在csdn里面编写) 希望写的文章对您有帮助,谢谢! 代码提交Github的3种方法 原文地址:https://www.cnblogs.com/jason0621/p/11161353.html

【Java】java数据库连接池配置的几种方法

今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,内容如下: <Context>      <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource" 

FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)

使用主动串行配置模式对Cyclone FPGA进行配置前,必须将配置文件写入串行配置器件EPCS.将配置文件写入EPCS的方法有三种: (1)在Quartus II的Programmer中,通过专门与EPCS连接的AS下载接口下载.pof文件到EPCS.不同之处在于将下载线连接到AS接口而不是JTAG接口,选择编程文件时是*.pof而不是*.sof. (2)在Quartus II的Programmer中,使用JTAG接口通过FPGA中间通道间接对EPCS进行编程. (3)使用Nios II ID

yum源配置的三种方法

(一)yum源概述 yum需要一个yum库,也就是yum源.默认情况下,CentOS就有一个yum源.在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直接在yum.repos.d/下重命名). 首先要找一个yum库(源),然后确保本地有一个客户端(yum这个命令就是客户端),由yum程序去连接服务器.连接的方式是由配置文件决定的.通过编辑/etc/yum.repos.d/CentOS-Base.repo文件,可以修改设置. 打开CentOS-Ba

SNMP安全配置的两种方法(也可同一时候兼顾配置两种方法)

方法一(最简单安装): 安装 Net-SNMP CentOS及其他RedHat系列产品提供了net-snmp的二进制包.我们能够直接从源里安装. shell> yum install net-snmp net-snmp-devel net-snmp-utils 说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk. 配置 Net-SNMP 在笔者的试验环境下,CentOS下的net-snmp无法在selinux环境下

jQuery代码性能优化的10种方法

1.总是使用#id去寻找element 在jQuery中最快的选择器是ID选择器 ($('#someid')). 这是因为它直接映射为JavaScript的getElementById()方法. 选择单个元素 <div id="content"> <form method="post" action="/"> <h2>Traffic Light</h2> <ul id="traffi

Spring事务配置的五种方法

总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSource.TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,TransactionManager的实现为HibernateTransactionManager.具体

修改php.ini配置的几种方法

作者:zhanhailiang 日期:2015-03-04 1. 通过 php.ini 修改配置: [[email protected]/usr/local/php/etc]# /usr/local/php/bin/php -ini|grep php.ini Configuration File (php.ini) Path => /usr/local/php-5.3.29/lib [[email protected]/usr/local/php/etc]# vim /usr/local/php

PHP和HTML代码混合编译的三种方法

第一种是在HTML中加PHP. 大段大段的html代码中,在各个需要执行php的地方<?php .... ?> 比如 line7-9: 1 <head> 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 3 <meta http-equiv="Content-Language" content="zh-