繁体   English   中英

如何配置Log4j以读取我的属性文件?

[英]How do I configure Log4j to read my properties file?

我正在使用Java中的SMSLib发送短信。 我已经加载了log4j jar文件并将log4j.properties文件放在正确的位置,但它仍然无法读取它并获得以下异常:

例外文字:

log4j:ERROR无法读取配置文件[log4j.properties]。 java.io.FileNotFoundException:log4j.properties(Lefichierspécifiéestintrouvable),java.io.FileInputStream.open(Native Method),位于java.io.FileInputStream。(FileInputStream.java:138),位于java.io.FileInputStream。( FileInputStream.java:97)org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:372)org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:403)org.smslib.helper.Logger。( Logger.java:50)atg.smslib.helper.Logger。(Logger.java:29)org.smslib.Service.listSystemInformation(Service.java:113)org.smslib.Service.initializeService(Service.java: 103)org.smslib.Service。(Service.java:95)ata.sposlib.Service。(Service.java:90)at laposte.EnvoiSMS。(EnvoiSMS.java:181)at laposte.login.passwordKeyPressed(login .java:230)在laposte.login.access $ 100(login.java:26)位于javax的java.awt.Component.processKeyEvent(Component.java:6463)的laposte.login $ 2.keyPressed(login.java:80) .swing.JComponent.processKeyEvent(JComponent.java:2829) 在java.awt.Component.processEvent(Component.java:6282)的java.awt.Container.processEvent(Container.java:2229)处于java.awt的java.awt.Component.dispatchEventImpl(Component.java:4861)。 java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent上的java.awt.Component.redispatchEvent(KeyboardFocusManager.java:1895)中的java.awt.Component.dispatchEvent(Component.java:4687)上的Container.dispatchEventImpl(Container.java:2287)(DefaultKeyboardFocusManager) .java:762)java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)在Java.awt.Component.dispatchEventImpl(Component.java:4731)的java.awt.Container.dispatchEventImpl(Container.java:2287)java.awt.Window.dispatchEventImpl(Window.java:2719)at java.awt。 java.a上的Component.dispatchEvent(Component.java:4687) wt.EventQueue.dispatchEventImpl(EventQueue.java:729)java.awt.EventQueue.access $ 200(EventQueue.java:103)java.awt.EventQueue $ 3.run(EventQueue.java:688)at java.awt.EventQueue在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)java.security.Protevilege(ProtectionDomain.java:76)java.security.AccessController.doPrivileged(Native Method)$ 3.run(EventQueue.java:686)$ 1.doIntersectionPrivilege(ProtectionDomain。 java:87)at java.awt.EventQueue $ 4.run(EventQueue.java:702)at java.awt.EventQueue $ 4.run(EventQueue.java:700)at java.security.AccessController.doPrivileged(Native Method)at java .security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:76)位于java.awt.EventDispatchThread上的java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)java.awt.EventQueue.dispatchEvent(EventQueue.java:699) .pumpEventsForFilter(EventDispatchThread.java:161)at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)log4j:ERROR忽略配置file [log4j.properties]。 log4j:WARN找不到logger(smslib)的appender。 log4j:WARN请正确初始化log4j系统。 log4j:WARN有关详细信息,请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig

您需要将文件放在类路径上。尝试将其放在类路径中的文件夹中,如源文件夹。

链接可能有用。

log4j:ERROR无法读取配置文件[log4j.properties]。 java.io.FileNotFoundException:

首先,您应该将名称保存为log4j.properties并选择文件类型作为所有文件,然后单击保存,保存位置应该是您的项目(注意:不要将其保存在工作区中)。

Log4j属性:“log4j.properties”

这是生成日志的代码。 将其另存为log4j.properties。

// Here we have defined root logger
log4j.rootLogger=INFO,CONSOLE,R,HTML,TTCC

// Here we define the appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.TTCC=org.apache.log4j.RollingFileAppender
log4j.appender.HTML=org.apache.log4j.FileAppender

// Here we define log file location
log4j.appender.R.File=./log/testlog.log
log4j.appender.TTCC.File=./log/testlog1.log
log4j.appender.HTML.File=./log/application.html

// Here we define the layout and pattern
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= %5p [%t] (%F:%L)- %m%n
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d - %c -%p - %m%n
log4j.appender.TTCC.layout=org.apache.log4j.TTCCLayout
log4j.appender.TTCC.layout.DateFormat=ISO8601
log4j.appender.HTML.layout=org.apache.log4j.HTMLLayout
log4j.appender.HTML.layout.Title=Application log
log4j.appender.HTML.layout.LocationInfo=true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM