神啊,看看Log4Net这个东西吧
这个东西实在是让人感动的想哭囊…………-_-。。。。。
Log4Net.config文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<!--站点日志配置部分-->
<log4net>
<root>
<!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
<!--如果没有定义LEVEL的值,则缺省为DEBUG-->
<level value="all" />
<appender-ref ref="INFOAppender" />
<appender-ref ref="DEBUGAppender" />
<appender-ref ref="WARNAppender" />
<appender-ref ref="ERRORAppender" />
<appender-ref ref="FATALAppender" />
<appender-ref ref="ColoredConsole" />
<appender-ref ref="TraceAppender" />
</root>
<appender name="INFOAppender" type="log4net.Appender.RollingFileAppender">
<file value="admin\\logs\\info\\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.log'" />
<staticLogFileName value="false"/>
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<appender name="DEBUGAppender" type="log4net.Appender.RollingFileAppender">
<file value="admin\\logs\\debug\\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.log'" />
<staticLogFileName value="false"/>
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="DEBUG"/>
</filter>
</appender>
<appender name="WARNAppender" type="log4net.Appender.RollingFileAppender">
<file value="admin\\logs\\warn\\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.log'" />
<staticLogFileName value="false"/>
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="ERRORAppender" type="log4net.Appender.RollingFileAppender">
<file value="admin\\logs\\error\\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.log'" />
<staticLogFileName value="false"/>
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="ERROR"/>
</filter>
</appender>
<appender name="FATALAppender" type="log4net.Appender.RollingFileAppender">
<file value="admin\\logs\\fatal\\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.log'" />
<staticLogFileName value="false"/>
<maxSizeRollBackups value="100" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender> <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="conversionPattern" value="%newline*******************************************%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline*******************************************%newline" />
</layout>
</appender>
</log4net>
</configuration>
LogHelper.cs
using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
namespace DBUtility
{
public class LogHelper
{
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static void Debug(object ex)
{
Log.Debug(ex);
} public static void Warn(object ex)
{
Log.Warn(ex);
} public static void Error(object ex)
{
Log.Error(ex);
} public static void Info(object ex)
{
Log.Info(ex);
} public static void Debug(object message, Exception ex)
{
Log.Debug(message, ex);
} public static void Warn(object message, Exception ex)
{
Log.Warn(message, ex);
} public static void Error(object message, Exception ex)
{
Log.Error(message, ex);
} public static void Info(object message, Exception ex)
{
Log.Info(message, ex);
}
}
}
神啊,看看Log4Net这个东西吧的更多相关文章
- 2018-8-10-win10-uwp-MetroLog-入门
title author date CreateTime categories win10 uwp MetroLog 入门 lindexi 2018-08-10 19:16:53 +0800 2018 ...
- 深入了解Windows
1.1.什么是WindowMicrosoft Windows,是美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,后续的系统版本由于微软不断的更新升级, ...
- 大圆满的精髓–肯•威尔伯(KEN WILBER)
作者:肯·威尔伯(Ken Wilber),目前被公认为是“后人本心理学”的最重要的思想家.理论家和发言人,其影响已经跨越了心理学领域,波及哲学和神学领域.由于肯·威尔伯在意识领域的研究极富基础性和开创 ...
- 【游记】NOIP2015造纸记
题目来自HZWER学长的名言:“虽然已经做好了学OI就是打铁的准备.” 然后我发现我已经不是打铁,只能造纸了啊_(:3LZ_) [DAY0] 中午吃了饭才1:00,说好2:30才出发于是各种闲逛.2: ...
- 移动端自动化自动化(Android&iOS)——Appium
Appium-Python 移动端自动化环境搭建 Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及Firefox ...
- 关于ROS学习的一些反思
距离发布上一篇ROS的博客已经过去两年了,才发现原来自己已经这么久可没有写过关于ROS的文章,想来很是惭愧.这两年时间,自己怀着程序员的梦想,研究过RTOS,探索过Linux,编写过Android应用 ...
- 【渗透攻防】深入了解Windows
前言 本篇是基础教程,带大家了解Windows常用用户及用户组,本地提取用户密码,远程利用Hash登录到本地破解Hash.初步掌握Windows基础安全知识. 目录 第一节 初识Windows 第二节 ...
- IIS配置Url重写实现http自动跳转https的重定向方法(100%解决)
引言 本文推荐阅读地址:https://www.52abp.com/BlogDetails/10008 这种文章网上可以说一搜一大把,但是我为什么还要写呢,因为一搜一把没把我气死,都是东抄西挪的东西, ...
- noip2014生活大爆炸版石头剪刀布
题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 升级版游戏在传统的 ...
随机推荐
- jumpserver 安装
# CentOS 7 安装jumpserver $ setenforce 0 # 可以设置配置文件永久关闭$ systemctl stop iptables.service$ systemctl st ...
- 模板 - 数学 - 数论 - Miller-Rabin算法
使用Fermat小定理(Fermat's little theorem)的原理进行测试,不满足 \(2^{n-1}\;\mod\;n\;=\;1\) 的n一定不是质数:如果满足的话则多半是质数,满足上 ...
- Java 死锁以及死锁的产生
public class DeadLockSample { public static void main(String[] args) { DeadLock d1 = new DeadLock(tr ...
- meshing-做类似ICEM的o型剖分
原版视频下载地址: https://pan.baidu.com/s/1nvxD0jn 密码: db42
- 用java将简单的word文档换成pdf文档
用java将简单的word文档换成pdf文档的方式很多,因为很多都没有实际测试过,所以这里就先泛泛的说一下 整体上来看分两种: 1.纯java代码实现,有很多优秀的开源软件可以用,比如poi,itex ...
- Momentum Contrast for Unsupervised Visual Representation Learning (MoCo)
Momentum Contrast for Unsupervised Visual Representation Learning 一.Methods Previously Proposed 1. E ...
- Python 画 直方图/条形图/柱状图
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u011489887/article/de ...
- cmd命令 taskkill
netstat -ano|findstr " tasklist|findstr " taskkill /pid taskkill 命令: // 描述: 结束一个或多个任务或流程. ...
- 【Json】Json分词器
package com.hy; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNo ...
- MQTT基础概念介绍
https://blog.csdn.net/pipinet123/article/details/60866901 源博客地址:http://blog.csdn.net/pipinet123 MQTT ...