在测试程序时,有时候运行一次可能需要很久,把日志文件保存下来是很有必要的,本文给出了scala程序输出日志文件的方式,同时使用本人的另一篇博客中介绍的将log4j.properties放到程序jar包之外的方式,从而可以方便地修改日志显示的级别,日志文件路径等

链接:http://www.cnblogs.com/starwater/p/6703702.html

配置文件

首先是log4j.properties的配置

要实现的功能有

1、定义日志级别

2、输出日志到文件,并且控制日志文件大小

3、输出日志到控制台

# Define the root logger with appender file
log = D:/logs
#定义LOG输出级别、输出到控制台、文件
log4j.rootLogger = ERROR,STDOUT, FILE # 定义文件file appender 设置文件大小和个数 以及文件位置
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.MaxFileSize=10MB
log4j.appender.FILE.MaxBackupIndex=3
log4j.appender.FILE.File=${log}/testLog.log # 定义控制台 STDOUT appender
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.Target=System.out # 定义日志输出目的地为文件
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
#定义日志输出目的地为控制台
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n

代码引用

先通过博客一开始提到的另外一篇的方式定位log4j.properties的绝对路径后,使用 PropertyConfigurator.configure(filePath) 引用即可

手动添加日志

比如当日志级别是error时,我们希望有一些信息反映到日志中,就可以使用如下方式

val logg=Logger.getLogger(this.getClass)
logg.error(s"!!!!!!失败!!!!!!!!!!")

第一行一般放在class或者object最前面的地方,在需要的地方用第二行代码就能往日志中打印特定信息了

log4j配置输出日志文件的更多相关文章

  1. log4j配置单独日志文件输出

    log4j.logger.batteryHistory=ERROR,BD log4j.appender.BD=org.apache.log4j.FileAppender log4j.appender. ...

  2. log配置文件log4j.propeties(配置保存日志文件的相对路径)

    log配置文件log4j.propeties(配置保存日志文件的相对路径) log4j.propeties文件: #日志的4种级别ERROR(错误).WARN(警告潜在的错误).INFO(粗粒度信息) ...

  3. Java日志使用slf4j 配置log4j后,有日志文件 但日志文件内容为空

    SLF4J的全称是Simple Logging Facade for Java,即简单日志门面. SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logg ...

  4. log4j配置webapp日志系统

    1.基础知识: Log4j的中文文档 (这是根据最新的log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译的) http://dev.csdn.net/develop ...

  5. 使用log4j无法输出日志

    前段时间在项目的过程中使用log4j来输出日志,但是在一个项目里我明明已经在src/main/resource目录下创建了log4j.properties.具体配置如下: log4j.rootLogg ...

  6. Linux nohup不输出日志文件的方法

    引用:https://blog.csdn.net/guotao15285007494/article/details/84136234 最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序 ...

  7. log4j配置输出到多个日志文件

    通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中.那么我们log4j为我们提供了这种功能,以下我们来一步一步看是怎么做的.这里以property的配置方式写. ...

  8. log4j配置输出到多个日志文件(转)

    參考资料:http://logging.apache.org/log4j/1.2/manual.html 通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中.那 ...

  9. Java Slf4j日志配置输出到文件中

    1.概述 新项目需要增加日志需求,所以网上找了下日志配置,需求是将日志保存到指定文件中.网上找了下文章,发现没有特别完整的文章,下面自己整理下. 1.Java日志概述 对于一个应用程序来说日志记录是必 ...

随机推荐

  1. python IO 文件读写

    IO 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题. 如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可 ...

  2. python 类属性及限制

    Student类本身需要绑定一个属性直接在class中定义属性,这种属性是类属性,归Student类所有:class Student(object): name = 'Student'类的所有实例都可 ...

  3. Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践

    本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 ...

  4. sql执行计划变更和删除缓存中执行计划的方法

    将指定SQL的执行计划从共享池删除的方法 http://www.2cto.com/database/201204/126388.html Oracle SQL执行计划变更的问题 http://www. ...

  5. Redis 4.0+安装及配置

    系统环境:CentOS 7.3 官方下载最新版:https://redis.io/download:或直接终端下载解析安装: $ wget http://download.redis.io/relea ...

  6. 美国加拿大著名公共知识分子简·雅各布斯 (Jane Jacobs)的5本书

    作者是美国.加拿大著名公共知识分子.最近看了她的三本书<城市经济><城市与国家财富><经济的本质>.出版社把这三本书归入“城市-经济”三部曲,三本书英文原版的出版日 ...

  7. July 08th 2017 Week 27th Saturday

    You are never wrong to do the right thing. 坚持做对的事情,永远都不会错. I think the translation may be not precis ...

  8. linux下如何用GDB调试c++程序

    转:http://blog.csdn.net/wfdtxz/article/details/7368357 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形 ...

  9. 面试知识整理-Java基础

    三大特征:封装,继承,多态 多态:简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情. 抽象:抽象是将一类对象的共同特征总结出来构造类的过程 包装,可以讲基本类型当做对象来使用,抽象只关心对 ...

  10. BZOJ 3680: 吊打XXX (模拟退火)

    //yy:今天简单入门学了下ORZ 爬山算法:兔子朝着比现在高的地方跳去.它找到了不远处的最高山峰.但是这座山不一定是珠穆朗玛峰.这就是爬山算法,它不能保证局部最优值就是全局最优值. 模拟退火:兔子喝 ...