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(); } } }
输出结果:
十一月 14, 2017 4:36:32 下午 test.loggerTest main 信息: aaaaa 十一月 14, 2017 4:36:32 下午 test.loggerTest main 警告: ccccc
相应文件夹也会有对应文件
最新评论