Discuss / Java / Log4j交作业

Log4j交作业

Topic source

余建材

#1 Created at ... [Delete] [Delete and Lock User]

代码:Main.java

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Main {
    public static void main(String[] args) {
        Log log = LogFactory.getLog(Main.class);
        log.info("test");
        log.error("error");
    }
}

文件信息:

.
├── commons-logging-1.2.jar
├── log4j2.xml
├── log4j-api-2.13.3.jar
├── log4j-core-2.13.3.jar
├── log4j-jcl-2.13.3.jar
└── Main.java

编译运行:

javac -cp commons-logging-1.2.jar Main.java

# 需要指定当前路径及依赖包路径
java -cp .:commons-logging-1.2.jar:log4j-api-2.13.3.jar:log4j-core-2.13.3.jar:log4j-jcl-2.13.3.jar Main

最终会在当前目录自动创建 log 目录及日志文件。

余建材

#2 Created at ... [Delete] [Delete and Lock User]

手动打包(复习classpath和jar)

package.sh

#!/bin/bash

# package
rm -rf dist
mkdir dist
p="Manifest.MF Main.class commons-logging-1.2.jar log4j2.xml log4j-api-2.13.3.jar log4j-core-2.13.3.jar log4j-jcl-2.13.3.jar"
cp -r $p  ./dist
cd dist
jar cvfm main.jar $p 


# run
java -jar main.jar

Manifest.MF:

Manifest-Version: 1.0  
Created-By: 1.8.0_265 (Amazon.com Inc.)
Main-Class: Main
Class-Path: commons-logging-1.2.jar 
    log4j-api-2.13.3.jar 
    log4j-core-2.13.3.jar 
    log4j-jcl-2.13.3.jar 

运行:

sh  package.sh 
已添加清单
正在添加: Main.class(输入 = 511) (输出 = 336)(压缩了 34%)
正在添加: commons-logging-1.2.jar(输入 = 61829) (输出 = 57165)(压缩了 7%)
正在添加: log4j2.xml(输入 = 1458) (输出 = 674)(压缩了 53%)
正在添加: log4j-api-2.13.3.jar(输入 = 292300) (输出 = 261919)(压缩了 10%)
正在添加: log4j-core-2.13.3.jar(输入 = 1714164) (输出 = 1525359)(压缩了 11%)
正在添加: log4j-jcl-2.13.3.jar(输入 = 12656) (输出 = 10612)(压缩了 16%)

start run...
08-28 22:39:47.614 [main] INFO  Main
test

08-28 22:39:47.617 [main] ERROR Main
error

  • 1

Reply