1

META-INF の下にある jboss_ejb3.xml で JNDI env-entries logback/context-name と app_name を設定しようとしています。

* jboss-ejb3.xml ファイル: *

 <?xml version="1.1" encoding="UTF-8"?>
   <jboss:ejb-jar xmlns:jboss="http://www.jboss.com/xml/ns/javaee"
               xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:c="urn:clustering:1.0"
               xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-ejb3-2_0.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
               version="3.1"
               impl-version="2.0">
    <enterprise-beans>
     <session>
        <ejb-name>TestLogBean</ejb-name>
     <env-entry>
        <description>JNDI logging context for this app</description>
        <env-entry-name>logback/context-name</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>yoda</env-entry-value>
    </env-entry>
        <env-entry>
        <description>Application name</description>
        <env-entry-name>app_name</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>SampleLogger</env-entry-value>
    </env-entry>




    </session>
    </enterprise-beans>
</jboss:ejb-jar>

ear ファイルをデプロイすると、ログ バックで次の例外がスローされる

[Server:server-two] [0m [0m02:07:20,352 INFO [stdout] (MSC サービス スレッド 1-11) 02:07:20,352 |-ch.qos.logback.classic.joran.action.InsertFromJNDIAction のエラー - [java:comp/env/app_name] has null or empty value_[0m [Server:server-two] [0m [0m02:07:20,353 INFO [stdout] (MSC service thread 1-11) 02:07:20,352 |- ch.qos.logback.classic.joran.action.InsertFromJNDIAction のエラー - [java:comp/env/app_name] に null または空の値があります_[0m

logback.xml ファイル:

<configuration debug="true">
<insertFromJNDI env-entry-name="java:comp/env/app_name" as="app_name" />
<property name="messagePattern" value="%d [%thread] %-5level ${app_name}.%logger{46} - %msg%n"/>
 <appender name="CON" class="ch.qos.logback.core.ConsoleAppender">
   <layout class="ch.qos.logback.classic.PatternLayout">
     <Pattern>JNDI-TEST %d %-5level %msg %logger{50}%n</Pattern>
   </layout>
 </appender>

<root level="DEBUG">
   <appender-ref ref="CON" />
 </root>

</configuration>

どんな提案でも大歓迎です!前もって感謝します。

4

1 に答える 1

0

JBOSS サーバーの起動中に -Dlogback.ContextSelector=JNDI vm args を渡します。

于 2015-06-29T09:34:30.433 に答える