पर प्रॉपर्टी फ़ाइल का पता नहीं लगा सका, मुझे वास्तव में डीबी में लॉग इन करने के लिए लॉगबैक का समर्थन पसंद है। हालांकि, मुझे क्लासपाथ पर एक संपत्ति फ़ाइल से, विशेष रूप से लॉगबैक की परिवर्तनीय प्रतिस्थापन सुविधा का उपयोग करने में समस्या हो रही है।लॉगबैक वेरिएबल प्रतिस्थापन क्लासपाथ
मेरे संदर्भ: http://logback.qos.ch/manual/configuration.html#variableSubstitution
तो मैं एक बहु मॉड्यूल Maven परियोजना है। अपने वेब मॉड्यूल (जो एक .war फ़ाइल उत्पन्न) में, मैं निम्नलिखित निर्देशिका में मेरे Logback conf फ़ाइलें:
src/main/reesources
- logback.xml
- local.properties
- dev.properties
मेरे logback.xml इस तरह दिखता है:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property file="${env}.properties"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%X{messageId}] %-5level %logger{0} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource">
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>${logback.db.driverClassName}</driverClass>
<jdbcUrl>${logback.db.url}</jdbcUrl>
<user>${logback.db.user}</user>
<password>${logback.db.password}</password>
</dataSource>
</connectionSource>
</appender>
<root level="debug">
<appender-ref ref="DB" />
</root>
</configuration>
तो जब मैं लाना बिलाव सर्वर, मैं $ {env} इस तरह में पारित होगा:
-Denv=local
हालांकि, मैं निम्न त्रुटि हो गया, जब मैं सर्वर लाया:
17:45:22,782 WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0 DriverManagerDataSource:107 - Could not load driverClass logback.db.driverClassName_IS_UNDEFINED
java.lang.ClassNotFoundException: logback.db.driverClassName_IS_UNDEFINED
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
ऐसा लगता है कि लॉगबैक जोरेन को संपत्ति फ़ाइल का पता लगाने में परेशानी हो रही थी।
क्या कोई मुझे बता सकता है कि मैंने क्या गलत किया?
करता बिलाव जावा से प्रणाली चर पारित? कभी-कभी टॉमकैट कुछ मजाकिया सामान करता है। –
मेरे मालिक ने मुझे अपने कंधों को देखकर मेरी समस्या को हल करने में मदद की। ' ' का उपयोग करने के बजाय, मुझे ' ' का उपयोग करना चाहिए। शायद यह घर जाने का समय है :) –
scabbage
शायद आप इस मुद्दे को अपने आप से बाहर करना चाहते हैं। बहुत बढ़िया। –