当前位置: 首页 > 工具软件 > log4erl > 使用案例 >

erlang log4erl日志记录

穆浩皛
2023-12-01

           log4erl是一个application,所以要使用必须先启动才行,log4erl做为application启动后会运行一个gen_server类型的模块接收记录日志请求,该模块最终调用一个gen_event的模块异步写日志。

          下载:http://code.google.com/p/log4erl/

          直接解压文件,通过命令行进入源文件目录编译启动。

          $> cd src
          $> erl
          > make:all([{outdir, "../ebin"}]).

          >application:start(log4erl).

         > log4erl:conf("../priv/log4erl.conf").

          > log4erl:add_logger(messages_log).
          > log4erl:add_console_appender(messages_log, cmd_logs, {warn, "[%L] %l%n"}).

 

          6> log4erl:info("Information message").
          ok
          7> log4erl:info("log4erl test...").
          ok
          8> log4erl:warn("log4erl warn test...").
          21:19:39.582000 2012-04-17 [warn] log4erl warn test...
          ok
          9> log4erl:debug("log4erl debug test...").
          ok
          10> log4erl:error("log4erl error test...").
           21:20:05.338000 2012-04-17 [error] log4erl error test...

      其实文档里面说的非常详细,具体等有时间深入研究。总体来说使用log4erl作为项目日志工具还是比较不错的。

与error_logger不同,log4erl不能直接将erlang term作为日志信息记录,log4erl的日志的使用类似与io:format。

 其它与log4erl的使用相同,五级日志信息:warn | info | error | fatal | debug。

系统中有多个日志记录器(logger),用户根据自己的需要可以用不同的日志记录器记录不同类型的日志,这样我们可以按各种标准划分日志,例如不同功能模块的日志信息由不同的日志记录器负责。

这些日志记录器由用户自己定义的atom标识,还有一个缺省的日志记录器,如果你不指定哪个日志记录器记录,就会用缺省的那个。

每个日志记录器(logger)可以有一个或多个输出方式(这被称为appender),每个appender都有一个atom标识,各个appender可能各不相同,可以是输出到终端屏幕上的,可以是记录在文件上的,smtp的,未来还有记录到数据库上的、SNMP的、SMTP的。一个日志记录器有多个appender使得同一个日志信息可以记录在多个地方。

日志信息中还可包含格式化的时间信息。

 

 

        

 类似资料: