项目自动化建构工具gradle 入门2——log4j输出helloWorld

上一章节呢,有一个能跑的程序了。但是对做工程的人来说,用日志输出感觉比用System.out要有档次一点。比如使用log4j。直接上例子:

1进入D:\work\gradle\log目录  ,您电脑没这目录? 那辛苦自己一级一级建立起来吧,后面的目录也一样。

新建文件build.gradle,文件内容是:

 1 apply plugin: 'java' // 引入java插件,
 2 
 3 repositories {    // 从哪里找jar包
 4     flatDir {    
 5         // 先看下build.gradle文件所在目录下的 libs目录中有没有
 6         dirs 'libs'
 7     }
 8     maven {        
 9         //如果目录中木有,则找url对应的maven仓库,下面是阿里的maven仓库,速度杠杆的。
10         url "http://maven.aliyun.com/nexus/content/groups/public/"
11     }
12     mavenCentral()    //如果都木有,则取maven的官方仓库吧,只是这个速度要看人品
13 }
14 dependencies {    
15     // 我们代码里需要用到的jar,可以引入不用,但是用了必须引入。
16     compile 'log4j:log4j:1.2.17'    //编译时需要的jar
17     testCompile 'junit:junit:4.11'    //编译测试文件所需要的
18 }
19  
20 jar {        //生成jar包,
21     // 把用到的所有的jar都打到生成的jar中。以便java -jar 执行,居家旅行必备,当然只是提供一个jar给别人用就可以注释该行了
22     from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
23     manifest { //配置 Manifest文档属性
24         attributes 'Main-Class': 'log.Hello' //指定程序入口
25     }
26 }
build.gradle

 

2、进入目录 D:\work\gradle\log\src\main\java\log,新建文件Hello.java,键入内容

 1 package log;
 2 import org.apache.log4j.Logger;
 3 
 4 public class Hello{
 5     private static Logger logger = Logger.getLogger(Hello.class);  
 6 
 7     public static void main(String [] args){
 8         logger.info("hello,world. welcome to gradle");  
 9     }
10 }

 

3、进入目录:D:\work\gradle\log\src\main\resources ,新建文件log4j.properties ,键入内容

 1 ### 设置###
 2 log4j.rootLogger = debug,stdout,D,E
 3 
 4 ### 输出信息到控制抬 ###
 5 log4j.appender.stdout = org.apache.log4j.ConsoleAppender
 6 log4j.appender.stdout.Target = System.out
 7 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
 8 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 9 
10 ### 输出DEBUG 级别以上的日志到=d://logs/error.log ###
11 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
12 log4j.appender.D.File = d://logs/log.log
13 log4j.appender.D.Append = true
14 log4j.appender.D.Threshold = DEBUG 
15 log4j.appender.D.layout = org.apache.log4j.PatternLayout
16 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
17 
18 ### 输出ERROR 级别以上的日志到=d://logs/error.log ###
19 log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
20 log4j.appender.E.File =d://logs/error.log 
21 log4j.appender.E.Append = true
22 log4j.appender.E.Threshold = ERROR 
23 log4j.appender.E.layout = org.apache.log4j.PatternLayout
24 log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.properties

 

4、返回目录:D:\work\gradle\log,

打开cmd进入该目录,键入: gradle assemble

 

5、打开目录 D:\work\gradle\log\build\libs

打开cmd进入该目录,键入:java –jar log.jar

此时看到 console 输出了 hello,liyong,welcome to gradle

 

Ok,到此我们能够使用外部的log4的jar包进行编程了。如果您只需要有个能干活的工程,差不多了到此就好了。


 

下面照例解释下为啥这么玩。不过还是建议先看看上一篇 <项目自动化建构工具gradle 入门1——输出helloWorld>。

步骤1:

和上一篇相比,这个build.gradle 多了一下配置项。我们一一说明:

repositories 配置的是从哪里拿到代码中依赖的jar包。我们配置了3个项

  flatDir 是本地文件目录中,根目录是 build.gradle 所在的目录。

  maven 是自定义的maven仓库,url是自定义maven仓库的地址。我找到是阿里提供的,速度不错

  mavenCentral() 是maven官方仓库。

  其实这3个,只要gradle能找到该文件就行,随便配置一个就好了,即使你使用了flatDir,它仍会去网络上去找的。

dependencies 配置的是代码需要依赖哪些jar包

  complie 是代码编译的时候需要依赖这些jar包,

  testCompile 是指测试代码编译时需要依赖的jar包,

  除此之外,还有几个配置,比如runtime 指程序跑的时候需要哪些jar包,大家可以试试看。

  至于compile后面为什么要这么写,实际上这是gradle 的规则,对刚入门的童鞋来说,我们不需要懂太多只需先知道如何写如何用就行了,当以后用多了自然就懂了。最简单的办法是:

  1、进入网站 http://mvnrepository.com ,2、搜索log4j ,3、在搜索结果中进入第一个 项 log4j ,4、然后选择一个版本,进入如下图所示页面

   如图所示,切换到gradle 标签,有group name version 对应的3个字符串,用冒号把这3个字符串按顺序连起来就好了。

 

jar 的配置多了一行,你可以尝试把添加的那行去掉,再执行4,5。应该会出现该图

但是不添加能不能运行呢,也可以,但是我们得先把需要依赖的jar包找到。

jar包我们使用gradle下载过来了,C:\Users\用户名\.gradle 文件夹中,最直接就是在文件夹中搜索log4j 。

我们将该log4j的jar拷贝到 D:\work\gradle\log\build\libs ,然后用压缩软件打开log.jar,进入D:\work\gradle\log\build\libs\log.jar\META-INF\,编辑MANIFEST.MF

在末尾添加一行:  Class-Path: classes/ log4j-1.2.17.jar ,此时MANIFEST.MF 文件应该是这样的:

Manifest-Version: 1.0
Main-Class: log.Hello
Class-Path: classes/ log4j-1.2.17.jar

  

然后再执行步骤5 。是不是就ok呢?

 

步骤2:没什么好说的,一个java 文件,唯一注意的是package 是log; 

步骤3 是log4j 的配置文件,注意会在D:/logs中生成日志文件

步骤4,5 和上一篇文章一致,都是怎么编译和运行

 

转载于:https://www.cnblogs.com/liyong0610/p/6240804.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值