如何使用logger

ruby的logger也是一贯地简单。

控制日志文件大小,保留10个历史文件,文件大小最大为1024000字节:

logger = Logger.new('foo.log', 10, 1024000)


每日/星期/月一个日志文件

logger = Logger.new('foo.log', 'daily')
logger = Logger.new('foo.log', 'weekly')
logger = Logger.new('foo.log', 'monthly')


创建后的使用,就跟log4j很象了

logger.fatal { "Argument 'foo' not given." }
logger.error "Argument #{ @foo } mismatch."
logger.info('initialize') { "Initializing..." }
logger.add(Logger::FATAL) { 'Fatal error!' }


只是因为ruby语言的优势,可以有很多简化的处理。

控制输出级别:

logger.sev_threshold = Logger::WARN


令人惊讶的是没有修改format的接口,文档上居然建议是hacking掉。

强,果然是ruby的magic风格。

hacking...

class Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp} (#{$$}) #{msg}\n"
end
end
在编程中,logger对象通常用于记录和跟踪应用程序运行时的信息,包括错误、警告、调试信息和一般的运行日志。使用logger对象可以帮助开发者理解程序行为,诊断问题,或者记录关键事件。以下是使用logger对象的一般步骤,这里以Java中的`java.util.logging.Logger`为例: 1. 导入日志库:首先,需要在代码中导入对应的日志库,例如Java中的`java.util.logging`。 2. 获取logger实例:通过`Logger.getLogger()`方法获取一个logger实例。通常会传递一个类名或者包名作为参数,这样日志记录时可以包含相应的上下文信息。 3. 配置logger:根据需要配置logger的级别(如INFO, DEBUG, WARNING等)和其他属性,例如输出格式、输出目的地(控制台、文件等)。 4. 使用logger记录日志:使用logger实例调用不同的方法来记录不同级别的日志,例如`logger.info()`, `logger.warning()`, `logger.severe()`等。 5. 管理日志输出:可以配置日志处理器(Handler),控制日志的输出方式和位置,如控制台输出或文件输出。 一个简单的示例代码如下: ```java import java.util.logging.Logger; import java.util.logging.Level; import java.util.logging.FileHandler; import java.util.logging.SimpleFormatter; public class MyApplication { private static final Logger logger = Logger.getLogger(MyApplication.class.getName()); public static void main(String[] args) { // 配置logger try { FileHandler fh = new FileHandler("myapplication.log"); fh.setFormatter(new SimpleFormatter()); logger.addHandler(fh); } catch (Exception e) { logger.log(Level.SEVERE, "Error setting up logging", e); } // 记录信息 logger.info("Application started."); logger.warning("Low disk space warning!"); // 记录异常 try { riskyOperation(); } catch (Exception e) { logger.log(Level.SEVERE, "An error occurred during risky operation", e); } } public static void riskyOperation() throws Exception { // ... some risky operation ... } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值