使用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
一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...
随机推荐
- jQuery字体图标的三种方法
BootStrap框架原生图标 在导入BootStrap包的同时,导入bootstrap-3.3.7-dist/css/bootstrap.css层叠样式; <button type=" ...
- Oracle生成ASH报告
1.ASH (Active SessionHistory) ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成. v ...
- elasticsearch-head插件的安装
2.4.1 安装nodejs Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js是一个Javascript运行环境(runtime environm ...
- [LeetCode]-010-Regular_Expression_Matching
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- vscode-php代码提升及函数跳转
安装插件,php intellisense 安装后还要配置一下PHP的运行路径 打开扩展 输入 PHP IntelliSense 安装 文件 - 首选项 - 设置 - 扩展 - ...
- WKWebView使用指南|功能丰富的JXBWKWebView
github地址:JXBWKWebView,如果觉得项目不错可以点个star支持一下,谢谢~ 前言 目前iOS系统已经更新到iOS11,大多数项目向下兼容最多兼容到iOS8,因此,在项目中对WebVi ...
- 【python3】 抓取异常信息try/except
注意:老版本的Python,except语句写作"except Exception, e",Python 2.6后应写作"except Exception as e&qu ...
- 阶段3 1.Mybatis_10.JNDI扩展知识_2 补充-JNDI搭建maven的war工程
使用骨架 src下创建test目录 再新建java和resources两个Directory test下面创建java java的目录,让他作为源码的跟目录 test下的java文件夹 选择 完成之后 ...
- C# 程序异常停止后,sqlite可能变成0kb……
解决办法就是即时备份数据库文件,启动时判断数据库文件是否为0kb,是则还原之
- House_of_Force-ctf-bcloud
2016 bctf bcloud 下载: https://pan.baidu.com/s/1e-fvhaOJKzBQMxlrweLznw 提取码:ded5 放入ida中首先定位到 main()-> ...