日志打印与框架

异常日志打印:

public static String getTrace(Throwable t) {
        StringWriter stringWriter= new StringWriter();
        PrintWriter writer= new PrintWriter(stringWriter);
        t.printStackTrace(writer);
        StringBuffer buffer= stringWriter.getBuffer();
        return buffer.toString();
    }

在发生异常的地方,直接调用此方法即可:
try(){
 
}catch(IoException e)
   e.printStackTrace();
   logger.error(getTrace(e)); 

}

分布式日志系统总结:日志系统 - HackerVirus - 博客园

背景:通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。通常当系统发生故障时,工程师需要登录到各个服务器上,使用 grep / sed / awk 等 Linux 脚本工具去日志里查找故障原因。在没有日志系统的情况下,首先需要定位处理请求的服务器,如果这台服务器部署了多个实例,则需要去每个应用实例的日志目录下去找日志文件。每个应用实例还会设置日志滚动策略(如:每天生成一个文件),还有日志压缩归档策略等。这样一系列流程下来,对于我们排查故障以及及时找到故障原因,造成了比较大的麻烦。因此,如果我们能把这些日志集中管理,并提供集中检索功能,不仅可以提高诊断的效率,同时对系统情况有个全面的理解,避免事后救火的被动。

sl4j:
// 添加slf4j日志实例对象
Logger logger = LoggerFactory.getLogger(Test.class);

// 输出日志
logger.info("测试:{}", "输出日志");

log4j:

private Logger LOGGER = Logger.getLogger(Test.class);
 
    public static void main(String[] args){
        //记录 debug 级别的信息
        LOGGER.debug("This is debug message.");
        //记录 info 级别的信息
        LOGGER.info("This is info message.");
        //记录 error 级别的信息
        LOGGER.error("This is error message.");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值