中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

log4j2入門hello world

發布時間:2020-03-24 08:09:55 來源:網絡 閱讀:340 作者:2578612215 欄目:編程語言

1.什么是log4j2

(1)log4j

log4j是apache的一個開源項目,表示log for java.是一個日志工具,可以將日志信息輸出到文件,控制臺等其他地方 ,還可以定義日志的輸出格式,另外還有日志級別的區分,可通過配置文件去配置輸出格式,輸出目的地等信息.

(2)log4j2

log4j2從名字就知道了,是log4j的升級版本,性能有了很大提升,增加了很多新特性(如自定義級別,lambda表達式)與新的API,直接與tomcat等服務器集成.

3.VScode下使用log4j2(不用Maven)

(1)準備jar包

點擊這里下載
log4j2入門hello world
作者用的是win10,下載zip.

(2)準備插件

搜索安裝:Eclipse New Java Project
log4j2入門hello world

(3)創建項目

ctrl+shift+p調出命令面板,輸入new java project
log4j2入門hello world
項目名
log4j2入門hello world

JavaSE版本
log4j2入門hello world
創建完畢.
log4j2入門hello world

(4)設置jar包路徑

在項目根路徑下新建lib文件夾,把下載的
log4j2入門hello world
這兩個jar包放進去.
下一步設置.classpath.
添加

<classpathentry kind="lib" path="lib/log4j-api-2.12.1.jar" />
<classpathentry kind="lib" path="lib/log4j-core-2.12.1.jar" />

(5)新建測試文件

src下直接建立test.java

test.java:

import org.apache.logging.log4j.*;

public class test
{
    private final static Logger logger = LogManager.getLogger(test.class.getName());
    public static void main(String[] args) {
        logger.info("info");
        logger.error("error");
        logger.debug("debug");
        logger.trace("trace");
        logger.fatal("fatel");
    }
}

(6)運行

點擊main上的Run
log4j2入門hello world

結果:
log4j2入門hello world
輸出了fatel與error信息.
另外還提示了沒有找到log4j2配置文件,使用默認的配置文件,默認輸出到控制臺.

(7)創建配置文件使其輸出更多信息

src下創建log4j2.xml配置文件.
log4j2入門hello world
log4j2的配置文件只能是.xml或.json或.jsn文件,默認會在classpath下尋找(在這里classpath相當于圖中的src).
默認情況下系統選擇配置文件的優先級如下:

  • 1.classpath下名為 log4j-test.json 或者log4j-test.jsn文件
  • 2.classpath下名為 log4j2-test.xml
  • 3.classpath下名為 log4j.json 或者log4j.jsn文件
  • 4.classpath下名為 log4j2.xml

這里使用log4j2.
xml.log4j2.xml如下:

<?xml version="1.0" encoding="UTF-8"?>    
<configuration status="OFF">    
  <appenders>    
    <Console name="Console" target="SYSTEM_OUT">    
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>    
    </Console>    
  </appenders>    
  <loggers>    
    <logger name="test" level="info" additivity="false">    
      <appender-ref ref="Console"/>    
    </logger>    
    <root level="info">    
      <appender-ref ref="Console"/>    
    </root>    
  </loggers>    
</configuration>  

Logger三個主要的組件為

  • logger(記錄器)
  • appender(輸出目的地)
  • layout(布局,定義日志的格式)

<appenders>了輸出目的地,<Console>表示控制臺,<PatternLayout>定義了布局,里面的布局表示時間格式(%d,HH:mm:ss.SSS),接著是日志線程名(%t),%-5表示最小長度為5左對齊,level表示輸出日志級別.
%logger表示輸出logger名稱.
%m是%msg與%message的縮寫,表示輸出應用提供的與記錄事件有關的信息.
%n表示換行.

<loggers>定義的logger與logger使用的appender.root為log默認的輸出形式,如果一個類的沒有明確loggers中的輸出格式就會采用root的格式.

(8)再次運行

沒有之前的"沒有配置文件"的提示了.
log4j2入門hello world

4.VScode下使用log4j2(帶Maven)

(1)創建maven項目

使用插件maven for java創建,命令面板(ctrl+shift+p)輸入.
log4j2入門hello world
選擇quickstart.
log4j2入門hello world
選擇版本.
log4j2入門hello world
最后選擇項目路徑即可.
在控制臺中vscode會下載相關文件,然后會提示以交互模式創建:
log4j2入門hello world
這里等一會就好了.
然后會提示輸入一些值.
log4j2入門hello world
log4j2入門hello world
ok.

(2)在pom.xml配置依賴

在<dependencies>中添加如下代碼:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.12.1</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.12.1</version>
</dependency>

以下是完整的pom.xml:

<?xml version="1.0" encoding="UTF-8" ?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>test</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.12.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.12.1</version>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
                <plugin>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.7.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

右鍵選擇Update project configuration.
log4j2入門hello world

(3)創建log4j2.xml

在java目錄下新建log4j2.xml.
log4j2入門hello world

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </appenders>
    <loggers>
        <logger name="com.example.App" level="info" additivity="false">
            <appender-ref ref="Console"/>
        </logger>
        <root level="info">
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>

(4)修改測試類

修改默認的App.java.

package com.example;
import org.apache.logging.log4j.*;
public class App
{
    private static final Logger logger = LogManager.getLogger(App.class.getName());
    public static void main( String[] args )
    {
        logger.info("info");
        logger.error("error");
        logger.debug("debug");
        logger.trace("trace");
        logger.fatal("fatel");
    }
}

(5)測試

run即可.
log4j2入門hello world
log4j2入門hello world

5.IDEA下使用log4j2(不用Maven)

(1)創建項目

什么也不用選,直接next.
log4j2入門hello world
勾選從模板創建項目.
log4j2入門hello world
選好路徑與填好項目名即可.

(2)添加jar包

log4j2入門hello world
選擇剛才的lib目錄,或者自己手動改成兩個jar包(log4j-api-版本.jar,log4j-core-版本.jar).
log4j2入門hello world

(3)新建測試類

項目結構如下:
log4j2入門hello world
Main.java

package com.test;
import org.apache.logging.log4j.*;

public class Main {

    private static final Logger logger = LogManager.getLogger(Main.class.getName());
    public static void main(String[] args) {
        logger.info("info");
        logger.error("error");
        logger.debug("debug");
        logger.trace("trace");
        logger.fatal("fatel");
    }
}

(4)新建log4j2.xml

在src下新建log4j2.xml.

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </appenders>
    <loggers>
        <logger name="com.test.Main" level="info" additivity="false">
            <appender-ref ref="Console"/>
        </logger>
        <root level="info">
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>

(5)測試

直接點擊run按鈕.
log4j2入門hello world

6.IDEA下使用log4j2(帶Maven)

(1)創建maven項目 模塊

這里作者偷懶就直接在上面項目的基礎上新建模塊不新建項目了.
log4j2入門hello world

都不用選直接next.
log4j2入門hello world
填好GroupId與ArtifactId之后next.
log4j2入門hello world
最后選好位置.

(2)配置依賴

pom.xml中加入:

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.12.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.12.1</version>
    </dependency>
</dependencies>

以下是完整的pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.12.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.12.1</version>
        </dependency>
    </dependencies>

</project>

右鍵選擇同步pom.xml.
log4j2入門hello world
選擇右下角彈出的提示中的Import Changes.
log4j2入門hello world

(3)創建log4j2.xml

在target下的classes下創建log4j2.xml.
log4j2入門hello world
log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </appenders>
    <loggers>
        <logger name="com.example.test" level="info" additivity="false">
            <appender-ref ref="Console"/>
        </logger>
        <root level="info">
            <appender-ref ref="Console"/>
        </root>
    </loggers>
</configuration>

(4)創建測試類

創建包與test.java.

test.java

package com.example;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class test {
    private static final Logger logger = LogManager.getLogger(test.class.getName());
    public static void main(String[] args) {
        logger.info("info");
        logger.error("error");
        logger.debug("debug");
        logger.trace("trace");
        logger.fatal("fatel");
    }
}

(5)測試

新建配置Application.
log4j2入門hello world

輸入Main class與名字.
log4j2入門hello world
run.
log4j2入門hello world

參考:
1.log4j2(1)
2.log4j2(2)
3.log4j2(3)
4.log4j2(4)
5.log4j2(5)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

虎林市| 临沧市| 景德镇市| 郑州市| 彭山县| 青川县| 长岛县| 娄烦县| 永川市| 嘉荫县| 祁东县| 松溪县| 鹤峰县| 镇康县| 河曲县| 临江市| 安义县| 上蔡县| 电白县| 屏南县| 商河县| 南康市| 泰来县| 高尔夫| 台东县| 福泉市| 湘乡市| 富锦市| 永胜县| 正阳县| 武清区| 黑水县| 苏尼特右旗| 交口县| 渭源县| 泰和县| 谢通门县| 类乌齐县| 平阳县| 蓬安县| 沙湾县|