log4j:找不到资源

问题描述 投票:3回答:2

我有这个log4j.properties

在这条道路上:

❯ ls -l /Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties                                                         [15:54:01]
-rw-r--r--  1 eladb  eng  853 Jun 27 15:41 /Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties

但是,当我运行我的应用程序时,我在控制台中看到:

log4j: Trying to find [/Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties] using context classloader sun.misc.Launcher$AppClassLoader@4e25154f.
log4j: Trying to find [/Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties] using sun.misc.Launcher$AppClassLoader@4e25154f class loader.
log4j: Trying to find [/Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties] using ClassLoader.getSystemResource().

log4j: Could not find resource: [/Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties].

这是我的代码:

public class DeviceRepositoryFromJsonFile implements DeviceRepository {

    final static Logger logger = Logger.getLogger(DeviceRepositoryFromJsonFile.class);


    public DeviceRepositoryFromJsonFile() {
        BasicConfigurator.configure();

        filePath = Constants.devicesJsonPath;
        jsonFileHandlerDevice = new JsonFileHandler<>(filePath);
        devices = fetchFromFile();
    }

我正在使用gradle

我错过了什么?

java macos logging log4j
2个回答
4
投票

我今天遇到了这个问题。

您需要做的就是在将log4j的属性文件的路径读取之前使用file://协议。

所以,你的道路就像是

-Dlog4j.configuration=file:///Users/eladb/workspaceQa/MobileAutomationWebService/web-services/src/main/resources/log4j.properties

希望通过快速指向正确的解决方案来帮助其他人:)


0
投票

确保服务器不在根服务器文件夹中查找该文件夹

© www.soinside.com 2019 - 2024. All rights reserved.