小编Asm*_*bir的帖子

无法找到logstash的java安装错误

我在Windows 8.1上下载了Logstash-1.5.0,并尝试在命令提示符下运行它.

首先,我检查了java版本.然后更改目录,logstash-1.5.0/bin 然后输入命令,logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } stdout { } }'它给出了以下错误:

找不到JAVA_HOME指定的java安装

Logstash文件夹位于C:上,Java版本为1.7.0_25.我已将JAVA_HOME环境变量设置到jdk/ bin目录,但它仍然无效.

我是Logstash的新手.有人可以告诉我为什么会发生这种情况并帮助我解决这个问题吗?

java path java-home logstash

11
推荐指数
1
解决办法
1万
查看次数

src/main/resources 中文件的 Java 路径

我有以下目录结构的Maven的模块,我想要得到的路径abc.accessabcManager.java.

src
 |-main
    |-java
       |-org.abc.xyz
          |-init
             |-abcManager.java
    |-resources
       |-abc.access
Run Code Online (Sandbox Code Playgroud)

我尝试使用abcManager.class.getResource("abc.access")它,但它给出了一个空值。

我经历了以下问题,但解决方案不起作用。

如何在 JUnit 中获取 src/test/resources 目录的路径?

无法获取资源路径

java maven

7
推荐指数
1
解决办法
1万
查看次数

Log4j2 Java无法导入org.apache.logging.log4j.core

我正在尝试使用 Log4j2 API 编写版本 2.8.2 的转换器插件,但无法导入org.apache.logging.log4j.core以导入以下内容:

org.apache.logging.log4j.core.LogEvent, org.apache.logging.log4j.core.config.plugins.Plugin,org.apache.logging.log4j.core.pattern.*

我已经添加了 Maven 依赖项,这与 Log4j 2.8.1 配合得很好

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>2.8.2</version>
</dependency>
<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-api</artifactId>
   <version>2.8.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

更新:log4j-core-2.8.2.jar 内容

在此输入图像描述

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.andrew_flower.test</groupId>
    <artifactId>logtest1</artifactId>
    <version>1.0-SNAPSHOT</version>

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

    <repositories>
        <repository>
            <id>central</id>
            <url>http://repo1.maven.org/maven2/</url>
        </repository>
        <repository>
            <id>apache.snapshots</id>
            <name>Apache Release Distribution Repository</name>
            <url>
                http://repository.apache.org/snapshots
            </url>
        </repository>
    </repositories>
</project>
Run Code Online (Sandbox Code Playgroud)

java maven log4j2

5
推荐指数
1
解决办法
8153
查看次数

log4j2.properties将记录程序级别设置为许多软件包

AFAIK log4j2属性文件中的包/类的记录器级别应如下设置。

loggers = abc
logger.abc.name = com.abc.MyClass
logger.abc.level = INFO
Run Code Online (Sandbox Code Playgroud)

因此,如果我有50个要指定的类/包,这是否意味着我必须有50个loggers条目,每个name和都有50个条目level

是否没有其他方法可以对每个记录器用一行来完成,所以可以在50行中完成?

java logging properties log4j2

5
推荐指数
2
解决办法
3694
查看次数

在 log4j2.properties 中配置异步记录器

我想在 log4j2.properties 文件中使一些记录器异步。在 xml 格式中,您可以添加为

<Loggers>
    <AsyncLogger name="com.foo.Bar" level="info">
    </AsyncLogger>
</Loggers>
Run Code Online (Sandbox Code Playgroud)

我在 log4j2.properties 中尝试将其作为 loggers = com-foo-Bar

asyncLogger.com-foo-Bar.name = com.foo.Bar
asyncLogger.com-foo-Bar.level = INFO
Run Code Online (Sandbox Code Playgroud)

但是这个语法似乎是错误的。

配置它的正确方法是什么?

logging properties log4j2

5
推荐指数
1
解决办法
2409
查看次数

标签 统计

java ×4

log4j2 ×3

logging ×2

maven ×2

properties ×2

java-home ×1

logstash ×1

path ×1