log4net类库配置、WebService配置
一、类库配置
结构如下图

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".log""/>
<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
<param name="maximumFileSize" value="5000KB" />
<!--记录的格式。-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%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"-Exception.log""/>
<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
<param name="maximumFileSize" value="5000KB" />
<!--记录的格式。-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%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配置的更多相关文章
- log4net 日志框架的配置
log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...
- Log4Net写入到数据库配置过程中的一些小问题备忘
问题1: 在公司进行log4net写入服务器配置的时候,一切正常,但是在家里的机器上,就频繁出现这个问题: SQL Server 2008 报错:已成功与服务器建立连接,但是在登录前的握手期间发生错误 ...
- 找不到对应的webservice配置参数[ProcessService]
在UI端 保存时 界面显示无法保存 且报此错误 “找不到对应的webservice配置参数[ProcessService]” 此下为解决方法: 首先 在[应用管理平台]--[参数模板设置] 找到你的参 ...
- webservice 配置
webservice 配置 <system.web> <!--允许GET/POST请求 --> <webServices> <protocols> &l ...
- Nginx配置WebService、MySQL、SQL Server、ORACLE等代理
首先介绍一下Nginx的基本使用: 注意不要直接双击nginx.exe,这样会导致修改配置后重启.停止nginx无效,需要手动关闭任务管理器内的所有nginx进程 在nginx.exe目录,打开命令行 ...
- springboot 配置webservice接口
导入依赖的jar <!-- webservice cxf --> <dependency> <groupId>org.apache.cxf</groupId& ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- nginx 反向代理 与 Apache backend的配置联合配置
nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1. 设置域名, 子域名映射到指定服务器ip ...
- nginx配置(windows配置)
以下是我的项目用到的一份配置文件#user nobody;worker_processes 4; #进程数,一般cpu是几核就写多少#error_log logs/error.log;#erro ...
随机推荐
- rar安装和使用
参考:http://blog.csdn.net/dracotianlong/article/details/18011033 .下载rar wget http://www.rarlab.com/rar ...
- QSignalMapper Class
/************************************************************************************** * QT QSignal ...
- 有一个TIME的类要求输出分和秒的值
#include <iostream> /* run this program using the console pauser or add your own getch, system ...
- javascript -- js正则表达式
正则表达式可以: 1.测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 2.替换文本.可以在文档中使用一个正则 ...
- 转载:QTableView中嵌入可视化组件
出处:http://qimo601.iteye.com/blog/1538364 QTableView中嵌入可视化组件方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简 ...
- 转载:Create a Flash Login System Using PHP and MySQL
本文共两部分: 1. http://dev.tutsplus.com/tutorials/create-a-flash-login-system-using-php-and-mysql-part-1- ...
- erlang的catch和 try catch的初步猜测
一. catch(Fun):似乎可以避免因为 函数Fun内的错误而造成的当前的进程的崩溃.
- 【Java面试题】17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator],[limit])参数:stringObj 必选项.要被分解的 ...
- mysql获取外键, 根据数据库名和表名获取表所对应的所有外键
SELECT ii.`COLUMN_NAME` FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS ii WHERE ii.`CONSTRAINT_SCHEMA`= ...
- 浅析Linux内核同步机制
非常早之前就接触过同步这个概念了,可是一直都非常模糊.没有深入地学习了解过,最近有时间了,就花时间研习了一下<linux内核标准教程>和<深入linux设备驱动程序内核机制>这 ...