Logger用法
2024-08-31 05:59:37
- logger的输出有两种方式:
①log.log(Level.INFO,"message")
②log.info("mesage")
其他级别的输出与此类似。 - 获得com.sample.LoggerSample这个类的logger对象。
可设置其Level,这样在LoggerSample运行时会根据在LoggerSample中预先定义好的Level级别来输出log。 - 设置logger输出级别
各级别按降序排列如下:
SEVERE(最高值)
WARNING
INFO
CONFIG
FINE
FINER
FINEST(最低值)
此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL 启用所有消息的日志记录。
如设置的Level级别比预定义的输出级别高,则Level较低处的log就不会输出。 - 可以给logger添加Handler来进行不同形式的输出:
①FileHandler:输出到文件
②ConsoleHandler:输出到控制台
③SocketHandler:输出到网络
public class loggerTest {
/** 存放的文件夹 **/
private static String file_name = "反馈日志"; /**
* 得到要记录的日志的路径及文件名称
* @return
*/
private static String getLogName() {
StringBuffer logPath = new StringBuffer();
logPath.append(System.getProperty("user.home")); //用户的主目录
logPath.append("\\"+file_name);
File file = new File(logPath.toString());
if (!file.exists())
file.mkdir(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
logPath.append("\\"+sdf.format(new Date())+".log");
return logPath.toString(); } /**
* 配置Logger对象输出日志文件路径
* @param logger
* @param level 在日志文件中输出level级别以上的信息
* @throws SecurityException
* @throws IOException
*/
public static void setLogingProperties(Logger logger, Level level) {
FileHandler fh;
try {
fh = new FileHandler(getLogName(), true);
logger.addHandler(fh);// 日志输出文件
// logger.setLevel(level);
fh.setFormatter(new SimpleFormatter());// 输出格式
// logger.addHandler(new ConsoleHandler());//输出到控制台(默认都会输出到控制台 通过logger.setUseParentHandlers(false)关掉)
} catch (SecurityException e) {
logger.log(Level.SEVERE, "安全性错误", e);
} catch (IOException e) {
logger.log(Level.SEVERE, "读取文件日志错误", e);
} } public static void setLogingProperties(Logger logger) throws SecurityException, IOException {
setLogingProperties(logger,Level.ALL);
} public static void main(String[] args) {
Logger logger = Logger.getLogger("log.text");
try {
loggerTest.setLogingProperties(logger);
// logger.setUseParentHandlers(false); //不输出到控制台(放在输出语句之前)
logger.log(Level.INFO,"aaaaa");
logger.setLevel(Level.WARNING); //设置日志级别 设置级别以下的不显示( logger默认的级别是INFO)
logger.log(Level.WARNING, "ccccc");
logger.info("bbbbb"); } catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }
输出结果:
十一月 , :: 下午 test.loggerTest main
信息: aaaaa
十一月 , :: 下午 test.loggerTest main
警告: ccccc
相应文件夹也会有对应文件
最新文章
- 微博开放平台开发(一)获取access_token
- linux命令学习使用记录
- Java——jar命令
- NGUI实现Sprite裁切成圆形或者椭圆形(不完美)
- 通过Anuglar Material串串学客户端开发 - javascript编译和gulpfile.js
- Sixth scrum meeting - 2015/10/31
- C语言遇到的错误和解决方案~~~持续更新,记录成长的过程
- hdu 5310 Souvenir (水)
- Django中的Form
- javascript 数组 排除null, undefined, 和不存在的元素
- libgdx如何调用android平台内容
- 简析服务端通过geotools导入SHP至PG的方法
- charles License
- P1279 字串距离
- (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
- java容器HashMap原理
- POI中setDefaultColumnWidth方法不起作用的原因
- URAL - 1003:Parity (带权并查集&;2-sat)
- exec函数簇
- 《时间序列分析——基于R》王燕,读书笔记