1. logger的输出有两种方式:
    ①log.log(Level.INFO,"message")
    ②log.info("mesage")
    其他级别的输出与此类似。
  2. 获得com.sample.LoggerSample这个类的logger对象。
    可设置其Level,这样在LoggerSample运行时会根据在LoggerSample中预先定义好的Level级别来输出log。
  3. 设置logger输出级别

    各级别按降序排列如下:
    SEVERE(最高值)
    WARNING
    INFO
    CONFIG
    FINE
    FINER
    FINEST(最低值)
    此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL 启用所有消息的日志记录。
    如设置的Level级别比预定义的输出级别高,则Level较低处的log就不会输出。

  4. 可以给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

相应文件夹也会有对应文件

Logger用法的更多相关文章

  1. org.apache.log4j.Logger用法

    在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开发环境中的调试器的作用,向文 ...

  2. python中的日志,logger用法

    python中自带logger模块,实现方法有两种,一般使用第二种,更灵活 方法一: import logging # 通过logging.basicConfig完成 logging.basicCon ...

  3. java中错误日志的用法

    1.maven包:将下面的maven加入到pom.xml <!-- https://mvnrepository.com/artifact/log4j/log4j --><depend ...

  4. 【python】Logging模块

    1.日志记录级别 logging.debug<logging.info<logging.warning<logging.error<logging.critical 关键是最高 ...

  5. org.apache.log4j.Logger详解

    org.apache.log4j.Logger 详解 1. 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工 ...

  6. 分享公司Basecode的用法

    主题 公司在basecode的用法上是比较有新意的,所以准备记录分享下公司的用法. 说明 basecode公司的一个主要用途就是用于一些基础的代码表,参数表的前台操作.这些表有很多,用spring d ...

  7. slf4j log4j logback关系详解和相关用法

    slf4j log4j logback关系详解和相关用法 写java也有一段时间了,一直都有用slf4j log4j输出日志的习惯.但是始终都是抱着"拿来主义"的态度,复制粘贴下配 ...

  8. NSLogger 简单用法总结

    NSLogger 支持在同一个本地网络下,移动 App产生的日志,通过 Bonjour 网络传送到电脑上查看日志信息. 1.具体用法: 在移动App项目里,添加3个文件: LoggerCommon.h ...

  9. java中log4j用法详细讲解和一些小总结

    0.Log4j的用法详解 首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对 ...

随机推荐

  1. [译]The Python Tutorial#3. An Informal Introduction to Python

    3. An Informal Introduction to Python 在以下示例中,输入和输出以提示符(>>>和...)的出现和消失来标注:如果想要重现示例,提示符出现时,必须 ...

  2. Python学习笔记:装饰器

    Python 装饰器的基本概念和应用 代码编写要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即: 封闭:已 ...

  3. Charles Babbage【查尔斯·巴贝奇】

    Charles Babbage When Babbage was working at Cambridge, a new idea occurred to him. 巴贝奇在剑桥工作的时候,脑海中有了 ...

  4. Nearest Common Ancestors POJ - 1330 (LCA)

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 34657   Accept ...

  5. DFS:POJ1088-滑雪(记忆化搜索)

    题目: 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 97666 Accepted: 37055 Description ...

  6. Java并发模型框架

    构建Java并发模型框架 Java的多线程特性为构建高性能的应用提供了极大的方便,但是也带来了不少的麻烦.线程间同步.数据一致性等烦琐的问题需要细心的考虑,一不小心就会出现一些微妙的,难以调试的错误. ...

  7. SSH无密码登录及远程拷贝命令SCP的使用

    SSH无密码登录 1.生成密钥对(公钥和私钥) $ cd /home/cen/.ssh $ ssh-keygen -t rsa #生成密钥,使用rsa方式进行加密,四个回车 $ ssh-copy-id ...

  8. Appium运行时没有启动activity的权限:A new session could not be created.(Original error: Permission to start activity denied)

    小白搞appium,遇到启动不了activity的问题: 查找解决方案说是跟AndroidManifest.xml有关系,参考:https://github.com/appium/appium/iss ...

  9. FreeMarker的<#if></#if>标签

    <#if target??> xxxx </#if> 上面这段代码判断target??是否为null,如果不为null时才可以执行if里面的内容,为null时则不进到 if里面 ...

  10. 《Scrum实战》第4次课【全职的Scrum Master】作业汇总

    1组: 孟帅 http://www.cnblogs.com/mengshuai1982/p/7375008.html 3组: 张亚辉 http://www.jianshu.com/p/df9eee08 ...