【问题标题】:How to set up log4j?如何设置 log4j?
【发布时间】:2019-12-30 00:59:05
【问题描述】:

我已经尝试使用 jzy3d api 来绘制 3d 图,我尝试使用 maven 进行设置(我是新手),我基本上只是复制了 api 页面告诉我的内容,但我一直遇到log4j 警告。

<?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>org.jzy3d</groupId>
    <artifactId>jzy3d-tutorials</artifactId>
    <version>1.0.3-SNAPSHOT</version>

    <name>Jzy3d Tutorials</name>

    <!--To retrieve Jzy3d dependencies
    <repositories>
        <repository>
            <id>jzy3d-snapshots</id>
            <name>Jzy3d Snapshots</name>
            <url>http://maven.jzy3d.org/snapshots/</url>
        </repository>
        <repository>
            <id>jzy3d-releases</id>
            <name>Jzy3d Releases</name>
            <url>http://maven.jzy3d.org/releases/</url>
        </repository>
    </repositories> -->

    <repositories>
        <repository>
            <id>Sonatype-snapshots</id>
            <name>Sonatyp Snapshots</name>
            <url>https://oss.sonatype.org/content/groups/public</url>
        </repository>
        <repository>
            <id>Sonatype-releases-staging</id>
            <name>Sonatype Releases Staging</name>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </repository>
    </repositories>


    <!--To deploy tutorials: 1) this project does not references master to be
        able to be build alone 2) master still reference this project to build it
        with the API involve being deployable by mvn deploy -->
    <!--<distributionManagement>
        <repository>
            <id>jzy3d-ftp-maven</id>
            <name>Jzy3d Maven Folder</name>
            <url>ftp://www.jzy3d.org/v1/maven/releases</url>
        </repository>
        <snapshotRepository>
            <id>jzy3d-ftp-maven</id>
            <name>Jzy3d Maven Folder SNAPSHOTS</name>
            <url>ftp://www.jzy3d.org/v1/maven/snapshots</url>
        </snapshotRepository>
    </distributionManagement>-->

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <version.jzy3d>${project.version}</version.jzy3d>
        <version.java.source>1.8</version.java.source>
        <version.java.target>1.8</version.java.target>
        <version.mvn.compiler>3.0</version.mvn.compiler>
        <version.mvn.ftp>1.0-beta-6</version.mvn.ftp>
        <version.mvn.deploy>2.4</version.mvn.deploy>
        <version.mvn.javadoc>2.9.1</version.mvn.javadoc>
        <version.mvn.release>2.5.3</version.mvn.release>
        <version.libs.junit>4.10</version.libs.junit>
        <version.libs.swt>4.2.1</version.libs.swt>
    </properties>


    <dependencies>
        <dependency>
            <groupId>org.jzy3d</groupId>
            <artifactId>jzy3d-api</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>com.miglayout</groupId>
            <artifactId>miglayout</artifactId>
            <version>3.7.4</version>
        </dependency>
        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>3.7</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>${version.java.source}</source>
                    <target>${version.java.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${version.mvn.deploy}</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <!--<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                </configuration>
            </plugin>-->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
log4j:WARN No appenders could be found for logger (org.jzy3d.chart.factories.ChartComponentFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

【问题讨论】:

    标签: java maven intellij-idea jzy3d


    【解决方案1】:

    从警告中可以看出,Logger 在 log4j.xml(或 log4j2.xml)文件中的 AppenderRef 名称可能不正确。在这个答案中,我使用的是 log4j2。

    示例 log4j2.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE XML>
    <Configuration status="WARN">
    
      <!-- These are appenders -->
      <Appenders>
        <File name="ThisFile" target="this/path/to/someAppLog.log">
          <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
      </Appenders>
    
      <!-- These are Loggers -->
      <Loggers>
        <Logger level="info">
          <AppenderRef ref="ThisFile"/>
        </Logger>
      </Loggers>
    
    
    </Configuration>
    

    详情:

    • 附加器
    • 记录器
      • 带有附加程序列表的记录器列表。
      • 在某些情况下,您可能希望Logger 拥有多个附加程序。
      • &lt;Logger ...&gt; 中的AppenderRefs 的ref 必须与您要登录的附加程序 的名称匹配,无论是文件、控制台等。李>

    在上面的文件上下文中,我在 &lt;Appenders&gt; 块内命名了一个 File。在&lt;Loggers&gt; 块内,我使用&lt;AppenderRef ref="ThisLogger" /&gt; 引用了一个记录器。


    更新 1:

    在您的 pom.xml 中,您缺少一个插件。你应该参考这个:

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

    如果这不是您想要的版本,请随时查看MvnRepository


    希望这会有所帮助。如果没有,请告诉我什么不起作用,我会尽我所能提供帮助。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      相关资源
      最近更新 更多