一、类库配置

结构如下图

1、LogUtility类

public class LogUtility
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static void WriteInfo(string strInfo)
{
log.Info(strInfo);
}
public static void WriteDebugInfo(string strInfo)
{
log.Debug(strInfo);
}
public static void WriteDebugError(string desc,Exception ex)
{
log.Error(desc,ex);
}
}

2、Web端调用:上面的类库DLL引用过来、log4net引用另外要配置Global.asax和Log4Net.config

Global配置

 protected void Application_Start(object sender, EventArgs e)
{
FileInfo file = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "Log4Net.config");
log4net.Config.XmlConfigurator.Configure(file);
}

Log4Net.config配置

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--日志文件路径,按文件大小方式输出时在这里指定文件名,并且前面的日志按天在文件名后自动添加当天日期形成文件-->
<param name="File" value="Logs\"/>
<!--是否追加到文件-->
<param name="AppendToFile" value="true"/>
<!--记录日志写入文件时,不锁定文本文件-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<!--Unicode编码-->
<Encoding value="UTF-8"/>
<!--最多产生的日志文件数,value="-1"为不限文件数-->
<param name="MaxSizeRollBackups" value=""/>
<!--是否只写到一个文件中-->
<param name="StaticLogFileName" value="false"/>
<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
<param name="RollingStyle" value="Date"/>
<!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]-->
<param name="DatePattern" value="yyyy-MM-dd/yyyyMMdd&quot;.log&quot;"/>
<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
<param name="maximumFileSize" value="5000KB" />
<!--记录的格式。-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n"/>
</layout>
</appender> <appender name="ExceptionFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<!--日志文件路径,按文件大小方式输出时在这里指定文件名,并且前面的日志按天在文件名后自动添加当天日期形成文件-->
<param name="File" value="Logs\"/>
<!--是否追加到文件-->
<param name="AppendToFile" value="true"/>
<!--记录日志写入文件时,不锁定文本文件-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<!--Unicode编码-->
<Encoding value="UTF-8"/>
<!--最多产生的日志文件数,value="-1"为不限文件数-->
<param name="MaxSizeRollBackups" value=""/>
<!--是否只写到一个文件中-->
<param name="StaticLogFileName" value="false"/>
<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
<param name="RollingStyle" value="Date"/>
<!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]-->
<param name="DatePattern" value="yyyy-MM-dd/yyyyMMdd&quot;-Exception.log&quot;"/>
<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
<param name="maximumFileSize" value="5000KB" />
<!--记录的格式。-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt;%n - %m%n"/>
</layout>
</appender> <logger name="Exception">
<level value="ALL"/>
<appender-ref ref="ExceptionFileAppender"/>
</logger> <root>
<!--根据日志的级别,来决定需要记录的日志,日志的级别主要有以下几类:ALL,DEBUG,INFO,WARN,RROR,FATAL,OFF-->
<level value="ALL" />
<!--
<level value="WARN" />
-->
<appender-ref ref="LogFileAppender" />
</root>
</log4net>

Ok 大功告成

二、Web端配置log4net;和类库配置一样就少一个引用类库的DLL另外Web端无需LogUtility类直接调用log4net 写日志即可

结构图如下

Global.asax和Log4Net配置同方法一

调用方法

ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

 /// <summary>
/// 根据二维码编号获取公证书
/// </summary>
/// <param name="qrCode">二维码编号</param>
/// <returns>json</returns>
[WebMethod]
public string QueryEvidence(string qrCode)
{
try
{
log.Info("方法QueryEvidence开始\r\n二维码:" + qrCode);
…………………………
       }
}

log4net类库配置、WebService配置的更多相关文章

  1. log4net 日志框架的配置

    log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...

  2. Log4Net写入到数据库配置过程中的一些小问题备忘

    问题1: 在公司进行log4net写入服务器配置的时候,一切正常,但是在家里的机器上,就频繁出现这个问题: SQL Server 2008 报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误 ...

  3. 找不到对应的webservice配置参数[ProcessService]

    在UI端 保存时 界面显示无法保存 且报此错误 “找不到对应的webservice配置参数[ProcessService]” 此下为解决方法: 首先 在[应用管理平台]--[参数模板设置] 找到你的参 ...

  4. webservice 配置

    webservice 配置 <system.web> <!--允许GET/POST请求 --> <webServices> <protocols> &l ...

  5. Nginx配置WebService、MySQL、SQL Server、ORACLE等代理

    首先介绍一下Nginx的基本使用: 注意不要直接双击nginx.exe,这样会导致修改配置后重启.停止nginx无效,需要手动关闭任务管理器内的所有nginx进程 在nginx.exe目录,打开命令行 ...

  6. springboot 配置webservice接口

    导入依赖的jar <!-- webservice cxf --> <dependency> <groupId>org.apache.cxf</groupId& ...

  7. 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...

  8. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  9. nginx配置(windows配置)

    以下是我的项目用到的一份配置文件#user  nobody;worker_processes  4; #进程数,一般cpu是几核就写多少#error_log  logs/error.log;#erro ...

随机推荐

  1. CodeIgniter(3.1.4)框架使用静态文件(js,css)

    调整目录结构: 可以在控制器中这样加载视图: * 加载url辅助类. views视图中可以这样引用静态文件: 则最终的静态文件url会生成这样:

  2. 关于Cocos2d-x中节点和精灵的关系以及初始化

    1.每一个对象类都有一个自己public的一个create函数(等价于CREATE_FUNC),和init函数. 2.create函数返回的是自身的类型,init函数是在ceate函数被调用的时候自动 ...

  3. 【转】MFC WM_USER和WM_APP

    WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF. #define WM_USER       0x0400 W ...

  4. Spring 4 官方文档学习(九)数据访问之事务管理

    说明:未整理版,未完待续,请绕行 本部分的重点是数据访问以及数据访问层与业务层之间的交互. 1.Spring框架的事务管理 介绍 http://docs.spring.io/spring/docs/c ...

  5. Spring RestTemplate 小结

    关于RestTemplate 首先,你可以把它理解为一个发起请求并接收响应的工具类(功能类似浏览器). 其次,它其实是一个壳,具体还是通过调用别的接口来实现(如jdk自带的连接,或者HttpClien ...

  6. e674. 创建并绘制加速图像

    Images in accelerated memory are much faster to draw on the screen. This example demonstrates how to ...

  7. Configurations of Vim/GVim of dsp

    Linux环境写到用户主目录下的.vimrc文件(没有则新建),Windows环境则为GVim安装目录下的_vimrc(没有则新建),内容如下: "分上下两屏 "sp " ...

  8. QHeaderView的点击和双击事件

    QTablewidget的horizontalHeader() 和 verticalHeader() 得到的表头:QHeaderView 点击事件的触发函数: sectionClicked(int) ...

  9. oracle用sql 语句如何向表中插入时间?

    有关日期的操作中,更多的是涉及系统当前时间,用sysdate表示即可,如果是插入其他非系统时间的日期类型数据的话,用to_date转换再插入就可以了.例: insert into 表(c_date) ...

  10. JavaScript 事件参考手册

    事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. 事件句柄 HTML 4.0 的新特性之一是有能力使 HTML 事件触发浏览器中的动作(action),比如当用户点击某个 HTML 元 ...