zoukankan      html  css  js  c++  java
  • asp.net + winform + log4net 使用示例|using log4net with asp.net/winform

    log4net, 是 apache.org 在 log4j的基础上推出的针对.net程序的开源的日志组件。



    log4net目前的最新版本是 1.2.10,log4net支持的日志保存方式,可谓丰富之极,包括:




    • 存入sql server 数据库

    • 存入access数据库

    • 存入oracle数据库

    • 存入db2数据库

    • 存入sqllite数据库

    • 生成asp.net 的trace模式的日志

    • 缓存方式的日志

    • 直接输出到控制台屏幕(支持彩色)

    • 存入系统日志

    • 生成单文件日志

    • 生成多文件日志

    • 保存在内存中

      和 "asp.net + winform + log4net 使用示例|using log4net with asp.net/winform" 有关的编程小帖士:

      strong>ftp_fget

      下载文件,并存在已开的文件中。

      语法: boolean ftp_fget(int ftp_stream, int fp, string remote_file, int mode);

      返回值: 布尔值

      内容说明

      本函数用来下载指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 fp 为本地端的已开文件的文件指针。参数 remote_file 为欲下载的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文本文件或者是二进制文件。成功则返回 true 值,失败则返回 false 值。


    • 利用net send 发送给指定的网络域或主机

    • 远程生成日志

    • 利用smtp发送日志到指定的邮箱

    • 利用iis的smtp,将日志放入mail目录

    • 利用udp协议发送日志




    上面的,各种日志保存方式的具体配置细节, 在这里



    log4net的日志记录分为7级,从高到低为: off、fatal、error, warn, info, debug, all



    要使用log4net,必须给log4net指定好配置文件, 有两种方法:




    1. 放入 web.config 或 app.config

    2. 放入一个单独的配置文件,如: log4net.config (推荐)




    log4net的配置格式,大致如下:




    <?xml version="1.0" encoding="utf-8" ?>
    <log4net debug="false">
    <appender name="rollinglogfileappender" type="log4net.appender.rollingfileappender">
    <file value="log.txt" />
    <appendtofile value="true" />
    <rollingstyle value="composite" />
    <datepattern value=".yyyymmdd" />
    <maxsizerollbackups value="10" />
    <maximumfilesize value="1mb" />
    <staticlogfilename value="true" />
    <layout type="log4net.layout.patternlayout">
    <conversionpattern value="%date %-5level %logger -%m%n" />
    </layout>
    </appender>
    <root>
    <level value="warn" />
    <appender-ref ref="rollinglogfileappender" />
    </root>
    </log4net>





    上面给出的是一个独立的log4net的配置文件,大体解释一下:



    <log4net></log4net>是根,<root></root>是必须的,是所有日志格式的根,其中定义了,日志记录的基础级别,和当前启用的日志记录方式, 上面的 appender 将继承root的level



    appender中的 type 指明了,采用哪种方式来记录日志,具体取值,大家去 这里 查看



    layout是日志输出格式的定义



    %d, %date :表示当然的时间



    %level : 表示日志的级别



    %logger, %c:表示日志产生的主题,通常是所在的类名,便于定位问题



    %t, %thread: 表示 所在进程



    %l:   表示产生日志的代码所在的行数



    %m, %message :表示日志的具体内容



    %n, %newline: 换行



    --------------------------------------------------------------------------



    我上面的是一个多文件日志的配置, 每天产生一个日志文件,日志名字是 log.txt.20081228 的形式





    下面重点说一下使用的具体步骤:



    1.  加入 log4net.dll 的引用



    电脑编程网-欢迎您的光临!



    2. 对于 web applicationwinform



    assemblyinfo.cs 中,加入




    [assembly: log4net.config.xmlconfigurator(configfile="log4net.config", watch=true)]
    //log4net.config 是配置文件的名称,可以自行设置
    //watch 是表示在程序运行期间是否监视该配置文件的变动



    3. 对于 website 项目,需要在 global.asax.cs 里,加入




    protected void application_start(object sender, eventargs e)
    {
    //配置log4net
    log4net.config.xmlconfigurator.configure(new system.io.fileinfo("log4net.config"));
    }



    4. 实际调用




        class program
    {
    private static readonly ilog log = logmanager.getlogger(system.reflection.methodbase.getcurrentmethod().declaringtype);
    //system.reflection.methodbase.getcurrentmethod().declaringtype
    //是利用反射获取当前类的type,记录在日志中,便于定位日志发生的所在

    static void main(string[] args)
    {
    log.error("这是一个错误日志");
    log.fatal("这是一个致命的错误日志");
    log.warn("这是一条警告日志");
    log.info("这是一条普通信息");
    console.read();
    }
    }


    下面附上一张生成的日志内容的截图

    电脑编程网-欢迎您的光临!


  • 相关阅读:
    C#指南,重温基础,展望远方!(3)类型和变量
    C#指南,重温基础,展望远方!(2)程序结构
    C#指南,重温基础,展望远方!(1)C#语言介绍
    ASP.NET MVC 简单的分页思想与实现
    ASP.NET MVC实现网站验证码功能
    hdu
    多种方法实现实现全排列 + sort调用标准函数库函数的简述
    HDU
    <hdu
    NYOJ-括号配对问题 <技巧性的非栈道法>
  • 原文地址:https://www.cnblogs.com/luluping/p/1764314.html
Copyright © 2011-2022 走看看