使用Log4Net将系统日志信息记录到记事本和数据库中
版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/hxpjava1/article/details/32714855
一、使用Log4Net将日志记录到记事本中步骤
1,将log4net.dll文件加入到项目引用中
2,写日志记录器类例如以下:
/// <summary>
/// 日志记录器
/// </summary>
public class LogWriter
{
/// <summary>
/// 记录调试信息
/// </summary>
/// <param name="message"></param>
public static void Debug(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("Logger");
if (log.IsDebugEnabled)
{
log.Debug(message);
}
log = null;
}
/// <summary>
/// 记录错误信息
/// </summary>
/// <param name="message"></param>
public static void Error(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("Logger");
if (log.IsErrorEnabled)
{
log.Error(message);
}
log = null;
}
/// <summary>
/// 记录致命错误
/// </summary>
/// <param name="message"></param>
public static void Fatal(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("Logger");
if (log.IsFatalEnabled)
{
log.Fatal(message);
}
log = null;
}
/// <summary>
/// 记录一般信息
/// </summary>
/// <param name="message"></param>
public static void Info(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("Logger");
if (log.IsInfoEnabled)
{
log.Info(message);
}
log = null;
}
/// <summary>
/// 记录警告信息
/// </summary>
/// <param name="message"></param>
public static void Warn(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("Logger");
if (log.IsWarnEnabled)
{
log.Warn(message);
}
log = null;
}
}
3,在web程序的根文件夹中加入log4net.config文件内容例如以下所看到的
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<!--<root>
<level value="WARN" />
<appender-ref ref="rollingFile" />
</root>-->
<logger name="Logger">
<level value="ALL" />
<appender-ref ref="rollingFile" />
</logger>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="log/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<datePattern value="yyyyMMdd'.txt'" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net>
</configuration>
4,使用时进行例如以下调用就能够生成在应用程序的根文件夹下生成一个log文件夹,而且在文件夹中会生成以时间为名称的日志文件
LogWriter.Info("请选择认证方式Info");
LogWriter.Warn("请选择认证方式Warn");
LogWriter.Fatal("请选择认证方式Fatal");
LogWriter.Error("请选择认证方式Error");
LogWriter.Debug("请选择认证方式Debug");
二。将使用Log4Net将日志文件保存到数据库中
參考链接点击打开链接(注意:这里配置的是sql server数据库)
如要保存到Oracle或其它数据库,请链接点击打开链接。在这里你能够查询到使用Log4Net将日志信息保存到不同数据库的配置文件信息。
当中我在做将日志信息保存到Oracle数据库时,遇到些问题,我们系统使用的是Oracle.DataAccess.dll,可是非常多演示样例中给出的是System.Data.OracleClient.dll,全部导致在配置
<connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
应该更改为
<connectionType value="Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess.Client, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
在这里一定要注意Version和PublicKeyToken的准确性,否则是无法插入数据库中的。
使用Log4Net将系统日志信息记录到记事本和数据库中的更多相关文章
- 使用log4net做应用程序全局日志记录保存在数据库中
几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日志记录往往 ...
- Log4Net的应用教程之保存日志到数据库中
关于Log4Net的应用,网上有很多教程,但大多数都是拷贝复制,有些按照他的代码来,运行起来发现也出不来效果,但是Log4net的作用实在是非常大的,或者这里说的不对,应该说系统的日志功能是很重要的也 ...
- 可以将一些配置信息已json格式存在数据库中读取的时候序列化。
public partial class json序列化 : System.Web.UI.Page { protected void Page_Load(object sender ...
- PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 && 将错误记录到指定的文件中
[记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...
- mongo数据库中一条记录中某个属性是数组情形时 数据结构的定义
package entity; import java.util.Date; import com.mongodb.BasicDBList;import com.mongodb.DBObject; p ...
- 也用 Log4Net 之将自定义属性记录到文件中 (三)
也用 Log4Net 之将自定义属性记录到文件中 (三) 即解决了将自定义属性记录到数据库之后.一个新的想法冒了出来,自定义属性同样也能记录到文件中吗?答案是肯定的,因为Log4Net既然已经考虑 ...
- 也用 Log4Net 之将日志记录到数据库的后台实现 (二)
也用 Log4Net 之将日志记录到数据库的后台实现 (二) 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之 ...
- 也用 Log4Net 之将日志记录到数据库的配置 (一)
也用 Log4Net 之将日志记录到数据库的配置 (一) 前段时间我一直想做一个通用一点的日志记录系统,可以便于不同的业务组调用进行日志记录及分析.本来打算着自己下手写一个,后面发现各业务组可能会需 ...
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...
随机推荐
- node.js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源
一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...
- php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程
许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西.但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌 ...
- VSCode编辑器用户设置
{"gitlens.advanced.messages": {"suppressCommitHasNoPreviousCommitWarning": false ...
- Tomcat的安装、配置常见问题
(1)服务里面没有Tomcat怎么办? ——运行:cmd=>再到Tomcat 8.0/bin目录下运行: service install 即可: ——然后用: net start Tomc ...
- 【CF1243D&CF920E】0-1 MST(bfs,set)
题意:给定一张n个点的完全图,其中有m条边权为1其余为0,求最小生成树的权值和 n,m<=1e5 思路:答案即为边权为0的边连接的联通块个数-1 用set存图和一个未被选取的点的集合,bfs过程 ...
- jQuery_完成省市二级联动
当填表的时候会让你设计某省某市怎么设计,应该明白,如果你选择了一个确定的省,那么在第二个下拉框内则不会有除了你选择的省的市之外的名称.而这功能用js来实现很麻烦,但是用jq确很容易实现. 原表结构: ...
- Spring Boot教程(二十三)使用Swagger2构建强大的RESTful API文档(2)
添加文档内容 在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容.如下所示,我们通 ...
- wannafly 练习赛11 E 求最值(平面最近点对)
链接:https://www.nowcoder.com/acm/contest/59/E 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit ...
- 大数据笔记(二十七)——Spark Core简介及安装配置
1.Spark Core: 类似MapReduce 核心:RDD 2.Spark SQL: 类似Hive,支持SQL 3.Spark Streaming:类似Storm =============== ...
- 火狐使用阿里云OOS上传图片报错:“XML 解析错误:找不到根元素”
问题描述: 使用阿里云OOS上传图片在火狐浏览器报错 "XML 解析错误:找不到根元素",但不影响功能的使用.阿里云返回信息: <Error> <Code> ...