使用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
一.前言 在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量 ...
随机推荐
- 实战build-react(二)-------引入Ant Design(增加)
https://blog.csdn.net/zhan_lijian/article/details/85271906(copy) 1.肯定参考facebook关于react官网咯 快速搭建 creat ...
- 【gym102394B】Binary Numbers(DP)
题意:From https://blog.csdn.net/m0_37809890/article/details/102886956 思路: 可以发现转移就是右上角的一个区间前缀和 std只要开1倍 ...
- eclipse代码自动补全设置
1.说明 eclipse安装好了之后,在编辑框中输入某个英文字符,默认不自动弹出自动代码选择框,需要手动按下 Alt + / 或者输入的字符为 . 才弹出代码自动补全框.其实eclipse是可以设置 ...
- es之路由:进一步提高Elasticsearch的检索效率(适用大规模数据集)
1:一条数据是如何落地到对应的shard上的 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢? 首先这肯定不会是随机的,否则将来 ...
- Java基础之comparator和comparable的区别以及使用
Java基础之comparator和comparable的区别以及使用 1: 区别: .Comparable类需要实现此接口,定义在类内,不利于扩展 2 .Comparator更灵活,可以随时自定义 ...
- 安装 Windows 系统在 NVMe 规范的 M.2 接口的固态硬盘(SSD)上
作为一个程序员很重要的一项技能就是装系统 @_@,以前我都是随便用网上的工具做个系统盘,每次要用直接随手就搞好了,节省大家时间. 但最近同事装了个贼小的固态,然后我启动盘里的系统果断识别不出来他的固态 ...
- 2018-5 - 凉经 - 乐糖游戏 - PHP 开发实习生
收到面试通知当天因为学校出事要求我明天必须回去,所以就买当晚的火车票,然后跟公司说学校有事明天没法去面试了,公司人事比较好给我安排到当天下午面试.公司规模不是很大,但位置好下了地铁到,可能因为招的是实 ...
- JS中设置cookie,读取cookie,删除cookie
在开发时,碰到一个需求,需要保存一个表的信息(非隐私),希望下次打开还存在.于是想到用cookie,一番折腾完成.示例数据都是假的,打马赛克是怕泄密. 这个表取名为Data,为Array,每一行是一个 ...
- Android Studio编译报错Could not reserve enough space for 2097152KB object heap解决方法
环境变量中添加
- Java基础之 多线程
一.创建多线程程序的第一种方式: 继承(extends) Thread类 Thread类的子类: MyThread //1.创建一个Thread类的子类 public class MyThread e ...