`
ZacMa
  • 浏览: 38907 次
  • 来自: 深圳
社区版块
存档分类
最新评论

<24>用error_logger间隔记录日志

 
阅读更多
执行下面的代码
test:start().
test.erl
-module(test).
-compile(export_all).
start() ->
    Fun = loop,
    spawn(?MODULE, Fun, []).
loop() ->
    receive
    after 5000 ->
        error_logger:delete_report_handler(error_logger_file_h),                                                        PDir = "/home/mzh/pratise",
        {H, M, S} = time(),
        SDir = lists:flatten(io_lib:format('~2..0b~2..0b~2..0b', [H, M, S])),
        FileName = "log",
        Path = PDir ++ "/" ++ SDir,
        File = PDir ++ "/" ++ SDir ++ "/" ++ FileName,
        file:make_dir(Path),
        io:format("~n~p~n", [File]),
        error_logger:swap_handler({logfile, File}),
        error_logger:error_msg(File)
    end,
    loop().

每隔5秒钟把日志记录到以时间命名的目录中去,
-bash-3.2$ pwd
/home/mzh/pratise
-bash-3.2$ ls
154806  154816  154826  154836  154846  154856  154906  154916  154926  154936  154946  154956  155006  ...
每个文件夹中都是一个log文件,
log里面的内容都相同,是error_logger:error_msg(File)打印的内容,
例如其中一个log的内容
-bash-3.2$ cat 155011/log

=ERROR REPORT==== 22-Oct-2013::15:50:11 ===
/home/mzh/pratise/155011/log,
当然日志记录用rb也非常方便,会自动分类,rb使用方法
http://zacma.iteye.com/blog/1704685
分享到:
评论

相关推荐

    logback 配置详解.pdf

    `&lt;logger&gt;` 和 `&lt;root&gt;` 都可以包含 `&lt;appender-ref&gt;`,定义将使用哪些日志处理器(appender)。 例如,要为名为 `com.example.myApp` 的包设置日志级别并指派一个 appender,你可以这样配置: ```xml ...

    JSLogger日志记录组件

    JSLogger通过简单的API接口,使开发者能够方便地在浏览器环境中记录不同级别的日志信息,如信息(info)、警告(warn)、错误(error)等。 **主要功能** 1. **多级别日志记录**:JSLogger支持多种日志级别,包括...

    Slf4j+logback实现logback测试

    3. **使用Slf4j API**: 在Java代码中,通过import slf4j的LoggerFactory来获取Logger实例,然后调用其各种方法记录日志。例如: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public ...

    log4j2+slf4j+测试类日志按日期生成

    `Log4j2`和`SLF4J`是两个广泛使用的Java日志框架,它们各有特点,并且可以协同工作,提供强大的日志记录功能。本文将详细介绍如何利用`Log4j2`和`SLF4J`来配置一个测试类,使其日志按照日期生成,以便于管理和分析。...

    Java使用C3P0连接MySQL数据库查询

    在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0,你需要在项目中引入相应的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...

    S2_Java4_使用log4j记录日志信息

    - 例如,可以在生产环境中将所有logger级别设置为WARN或ERROR,只记录重要的异常信息,以减少日志文件大小。 6. **过滤和定制**: - 可以使用过滤器(Filter)进一步控制哪些日志信息会被输出。 - 自定义...

    C++日志系统log4cxx

    在C++代码中,首先需要初始化log4cxx,然后通过`LoggerPtr`获取Logger实例,最后使用`debug`, `info`, `warn`, `error`等方法记录日志。 ```cpp #include "log4cxx/logger.h" #include "log4cxx/...

    统一格式的日志写入

    在IT行业中,日志记录是系统开发不可或缺的一部分。它提供了对程序运行状态的跟踪和调试信息,对于问题排查、性能优化以及系统监控至关重要。在SpringMVC项目中,"统一格式的日志写入"通常指的是通过配置日志框架,...

    SpringBoot2 集成log4j2日志框架的实现

    -- 日志级别:OFF &gt; FATAL &gt; ERROR &gt; WARN &gt; INFO &gt; DEBUG &gt; TRACE &gt; ALL --&gt; &lt;!-- configuration.status:设置log4j2自身的内部信息输出级别 --&gt; &lt;!-- monitorInterval:设置配置文件更新检查的间隔秒数 --&gt; ...

    net core日志记录Serilog用法.docx

    在上面的代码中,我们使用 ErrorLog 记录了一个错误日志,然后使用 InfoLog 记录了一个信息日志。 四、日志级别 Serilog 提供了多种日志级别,包括 Verbose、Debug、Information、Warning、Error 和 Fatal。每种...

    带日志记录的Delphi功能实现..rar

    8. **日志轮换**:为了防止单个日志文件过大,可以实现日志轮换,即当文件达到一定大小或时间间隔后,创建新的日志文件。这可以通过在日志框架中设置规则来实现。 9. **性能优化**:虽然日志有助于调试,但过多的...

    日志记录Log4j配置介绍

    这些级别的优先级顺序为:DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL。如果某Logger组件的级别设置为P,则所有级别低于P的日志信息将被忽略。 ##### 1.2 Logger Logger组件负责记录日志信息,并可以通过配置决定哪些...

    log4j的作用及测试

    下面将详细介绍如何使用log4j进行日志记录。 #### 三、引入必要的jar包 为了使log4j能够在项目中正常运行,需要在项目的lib目录中添加以下jar包: - `log4j-1.2.16.jar`:这是日志功能的核心包。 - `spring.jar`或`...

    log4j应用实例

    例如,如果设置了过高的日志级别(如ERROR),那么一些有用的DEBUG或INFO级别的日志信息将不会被记录下来。相反,如果设置了过低的日志级别(如DEBUG),可能会导致日志文件过大,从而影响性能。 2. **日志输出格式...

    log4cplus-1.2.1

    在这个例子中,我们首先获取一个名为"my_logger"的logger实例,然后使用宏`LOG4CPLUS_DEBUG`和`LOG4CPLUS_INFO`分别记录调试和信息级别的日志。 总结来说,log4cplus-1.2.1作为一个轻量级的日志库,不仅在功能上...

    C++实现的日志系统·

    例如,`&lt;iostream&gt;`可以用于在所有支持C++的平台上进行基本的输入输出,但更高级的日志功能(如文件操作或网络传输)可能需要针对不同平台进行调整。例如,Linux系统中可以使用`syslog`接口,而在Windows上可能需要...

    Python中logging日志记录到文件及自动分割的操作代码

    - **日志的过滤与格式化**:进一步定制日志输出格式,例如加入额外的信息如线程ID、进程ID等,或者使用过滤器只记录特定的日志条目。 通过以上详细的介绍和实现过程,我们可以看出Python中的`logging`模块不仅功能...

    Python 实时日志监控

    这个模块提供了一套完整的日志记录系统,包括定义日志级别(如DEBUG、INFO、WARNING、ERROR、CRITICAL),设置日志处理器(如控制台输出、文件写入、网络发送等),以及自定义日志格式等功能。通过`logging....

    logback中文资料

    - **配置根logger或&lt;root&gt;元素**:用于指定默认的日志配置。 - **配置Appender**:指定日志信息输出的方式。 ##### 3.3 Appender累积 可以通过配置多个Appender来累积日志输出。 #### 四、Appender详解 Appender...

Global site tag (gtag.js) - Google Analytics