日志记录在程序开发中是很重要的一个环节,日志在开发、调试、问题定位、问题分析中都起着很重要的作用。
Java生态圈提供了很多日志工具供开发者选择。
more
先明确下另个概念:
日志系统:日志系统是日志的具体实现。Java日志系统比较丰富,常用的有Log4j、java.util.Logging、Logback。
日志框架:为了解决多个日志系统的兼容问题,日志框架应运而生。主流的日志框架有commons-logging和SLF4J。
继续阅读 »
Java日志框架
作为一个Java程序员,肯定离不开日志框架,现在最优秀的Java日志框架是Log4j2,没有之一。根据官方的测试表明,在多线程环境下,Log4j2的异步日志表现更加优秀。在异步日志中,Log4j2使用独立的线程去执行I/O操作,可以极大地提升应用程序的性能。
在官方的测试中,下图比较了Sync、Async Appenders和Loggers all async三者的性能。其中Loggers all async表现最为出色,而且线程数越多,Loggers all async性能越好。
除了对Log4j2自身的不同模式做对比以外,官方还做了Log4j2/Log4j1/Logback的对比,如下图所示
其
继续阅读 »
日志是应用软件中不可缺少的部分。日志记录器(Logger)是日志处理的核心组件。
Logger的行为是分等级的,在不同的情况下日志级别应该是不同的。
more
Logback的Logger级别包括:TRACE、DEBUG、INFO、WARN和ERROR,定义于ch.qos.logback.classic.Level类。
继续阅读 »
把辛勤的耕作当做生命的必要,即使没有收获的指望依然心平气和的继续耕种。
路遥
在Java中,通常情况下,需要将异常堆栈信息输出到日志中,这样便于纠错及修正Bug,而多数情况下,大家最常用的是使用e.printStackTrace()直接打印堆栈信息完事,这并不是值的推荐的做法。
1. 当出现异常时,调用e.printStackTrace();其实相当于什么都没做,同时也不会把异常信息输出到日志文件中
2. 使用log.error(e.getMessage());只能够输出异常信息,但是并不包括异常堆栈,所以无法追踪出错的源点
3. 使用log.error(e);除了输出异常信息外,还能输出异常类型,但是同样不包括异常堆栈,该
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
在第一篇网站优化日志中,写到了一些优化策略。本篇文章从主题格式、增加功能方面讲解下网站的优化。
第一,博客主题由两列显示改为一列显示,右侧导航栏完全取消,包括关于、Google 搜索、分类、Blogroll。
之前博客采用两列展示,左列是文章,右列是关于等页面。就像 Medium 所提倡的,内容服务应该给阅读一种沉浸式的体验,显然右侧的页面给读者太多干扰。在
继续阅读 »
备份的原理
使用windows的任务计划程序定时执行该脚本从而达到备份和删除备份历史的目的。
主要参数
脚本主要需要设置参数有四个:
- bakPath:要备份的目录,必须以\结尾
- bakTargetPath:备份文件存储路径(可以是网络路径,前提是必须要有权限管理该路径下的文件夹)
- DaysAgo:该参数表示要删除多少天之前的备份(比如今天是2012年12月31日,那么20121221的文件不会被删除,20121220或比之小的文件夹将会被删除)
- logDaysAgo:该参数表示要删除多少天之前的日志文件
more
脚本
BackUpTask.bat
```bash
:: ----------------
继续阅读 »
1、修改SSH配置
```
vim /etc/ssh/sshd_config
修改下面一行,在Subsystem sftp /usr/lib64/ssh/sftp-server 后面增加一下内容
Subsystem sftp /usr/lib64/ssh/sftp-server -l INFO -f AUTH
继续阅读 »
问题
一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整;所以误操作而造成重要的数据丢失,就很难查到是谁操作的。
解决方案
我们可以通过脚本来实现记录每个登录用户的操作命令;我们可以编辑/etc/profile文件增加一些配置信息即可实现。我们不推荐直接修改/etc/profile文件,可以在/etc/profile.d/创建相应的操作。比如创建:log.sh,具体操作如下:
继续阅读 »
备份的原理
使用Linux的Cron程序定时执行该脚本从而达到备份和删除备份历史的目的。
主要参数
脚本主要需要设置参数有三个:
- ORIGIN_FOLDER:要备份的目录,必须以\结尾
- DES_FOLDER:备份文件存储路径(可以是网络路径,前提是必须要有权限管理该路径下的文件夹)
- DAYS_AGO:该参数表示要删除多少天之前的备份(比如今天是2012年12月31日,那么20121221的文件不会被删除,20121220或比之小的文件夹将会被删除)
more
脚本
BackUpTask.shell
```bash
!/bin/sh
--------------------------------------
继续阅读 »