Hello Everyone,

Reposting the same question. We have not been able to find a solution
ourselves yet... Is there any other information I need to provide to better
identify the problem? Any pointers deeply appreciated.

Best,
Arifi

--------------------- Original Message  ------------------------------

We are having a - probably language settings-related - problem with an
application that is using log4j to do its logging. The behavior is like
that:

With the default system language settings (Start > Settings > Control Panel
> Regional Options > Language Settings for the System > Defaults...) set 
> to
"Western Europe and United States", the program works just fine. However, as
soon as we switch the default to "Turkic", the program will only start to
display an error message saying "Cannot initialize log file: null", and then
exit.

The OS is W2K Server, with JRE 1.4 + JSDK 1.4

The message's text saying that the log file cannot be initialized led to the
guess that this could be a problem relating to Windows+log4j+Turkish triple.

We *have* to set the system's default language setting to Turkish for other
parts of integrated software to properly display Turkish characters.

The log4j.dtd file and the application's logging configuration file are
given below.

Is there anything we can do to fix that? 

Any pointers deeply appreciated.

Many thanks in advance,
Arifi Koseoglu
Mind2Biz Informatics



BEGIN================ log4j.dtd ======================================

<?xml version="1.0" encoding="UTF-8" ?>

<!-- Authors: Chris Taylor, Ceki Gulcu. -->

<!-- Version: 1.2 -->

<!-- A configuration element consists of optional renderer elements,appender
elements, categories and an optional root element. -->

<!ELEMENT log4j:configuration (renderer*,
appender*,(category|logger)*,root?,
                               categoryFactory?)>

<!-- The "threshold" attribute takes a level value such that all -->
<!-- logging statements with a level equal or below this value are -->
<!-- disabled. -->

<!-- Setting the "debug" enable the printing of internal log4j logging   -->
<!-- statements.                                                         -->

<!-- By default, debug attribute is "null", meaning that we not do touch -->
<!-- internal log4j logging settings. The "null" value for the threshold -->
<!-- attribute can be misleading. The threshold field of a repository    -->
<!-- cannot be set to null. The "null" value for the threshold attribute -->
<!-- simply means don't touch the threshold field, the threshold field   -->

<!-- keeps its old value.                                                -->
     
<!ATTLIST log4j:configuration
  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/"; 
  threshold                (all|debug|info|warn|error|fatal|off|null) "null"
  debug                    (true|false|null)  "null"
>

<!-- renderer elements allow the user to customize the conversion of  -->
<!-- message objects to String.                                       -->

<!ELEMENT renderer EMPTY>
<!ATTLIST renderer
  renderedClass  CDATA #REQUIRED
  renderingClass CDATA #REQUIRED
>

<!-- Appenders must have a name and a class. -->
<!-- Appenders may contain an error handler, a layout, optional parameters
-->
<!-- and filters. They may also reference (or include) other appenders. -->
<!ELEMENT appender (errorHandler?, param*, layout?, filter*, appender-ref*)>
<!ATTLIST appender
  name          ID      #REQUIRED
  class         CDATA   #REQUIRED
>

<!ELEMENT layout (param*)>
<!ATTLIST layout
  class         CDATA   #REQUIRED
>

<!ELEMENT filter (param*)>
<!ATTLIST filter
  class         CDATA   #REQUIRED
>

<!-- ErrorHandlers can be of any class. They can admit any number of -->
<!-- parameters. -->

<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)>
<!ATTLIST errorHandler
   class        CDATA   #REQUIRED 
>

<!ELEMENT root-ref EMPTY>

<!ELEMENT logger-ref EMPTY>
<!ATTLIST logger-ref
  ref IDREF #REQUIRED
>

<!ELEMENT param EMPTY>
<!ATTLIST param
  name          CDATA   #REQUIRED
  value         CDATA   #REQUIRED
>


<!-- The priority class is org.apache.log4j.Level by default --> <!ELEMENT
priority (param*)> <!ATTLIST priority
  class   CDATA #IMPLIED
  value   CDATA #REQUIRED
>

<!-- The level class is org.apache.log4j.Level by default --> <!ELEMENT
level (param*)> <!ATTLIST level
  class   CDATA #IMPLIED
  value   CDATA #REQUIRED
>


<!-- If no level element is specified, then the configurator MUST not -->
<!-- touch the level of the named category. --> <!ELEMENT category
(param*,(priority|level)?,appender-ref*)>
<!ATTLIST category
  class         CDATA   #IMPLIED
  name          CDATA   #REQUIRED
  additivity    (true|false) "true"  
>

<!-- If no level element is specified, then the configurator MUST not -->
<!-- touch the level of the named logger. --> <!ELEMENT logger
(level?,appender-ref*)> <!ATTLIST logger
  name          ID      #REQUIRED
  additivity    (true|false) "true"  
>


<!ELEMENT categoryFactory (param*)>
<!ATTLIST categoryFactory 
   class        CDATA #REQUIRED>

<!ELEMENT appender-ref EMPTY>
<!ATTLIST appender-ref
  ref IDREF #REQUIRED
>

<!-- If no priority element is specified, then the configurator MUST not -->
<!-- touch the priority of root. -->
<!-- The root category always exists and cannot be subclassed. --> <!ELEMENT
root (param*, (priority|level)?, appender-ref*)>


<!-- ====================================================================
-->
<!--                       A logging event
-->
<!-- ====================================================================
-->
<!ELEMENT log4j:eventSet (log4j:event*)> <!ATTLIST log4j:eventSet
  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/"; 
  version                (1.1|1.2) "1.2" 
  includesLocationInfo   (true|false) "true"
>



<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
                       log4j:locationInfo?) >

<!-- The timestamp format is application dependent. --> <!ATTLIST
log4j:event
    logger     CDATA #REQUIRED
    level      CDATA #REQUIRED
    thread     CDATA #REQUIRED
    timestamp  CDATA #REQUIRED
>

<!ELEMENT log4j:message (#PCDATA)>
<!ELEMENT log4j:NDC (#PCDATA)>

<!ELEMENT log4j:throwable (#PCDATA)>

<!ELEMENT log4j:locationInfo EMPTY>
<!ATTLIST log4j:locationInfo
  class  CDATA  #REQUIRED
  method CDATA  #REQUIRED
  file   CDATA  #REQUIRED
  line   CDATA  #REQUIRED
>

END================ log4j.dtd ======================================


BEGIN========= Application's logging configuration file ============

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
      
<!-- HUMMINGBIRD WORKFLOW ENGINE LOG4J CONFIGURATION -->

<!--
The logging package can be configured in various ways. Specifically,

1. Log destinations
2. Log levels
3. Log format
4. Rollover (size based and time based)

can all be configured. The default configuration illustrates various typical
configuration options.

The default configuration does the following 1. Log to the console (warn
messages and higher) 2. Log in XML format to hwelog.xml (info messages and
higher) 3. Log in HTML format to hwelog.html (info messages and higher) 4.
Log asynchronously to hwelogasync.log (info messages and higher) 5.
hwelog.xml will rollover after 100Kb 6. hwelog.html is truncated and
overwritten on each run

If maximum performance is an important factor, increase the log levels to
warn or fatal, and use fewer log destinations.

You can log to a variety of other destinations also simply by modifying the
configuration file. These include 1. JMS queue (JMSAppender) 2. Database via
JDBC (JDBCAppender) 3. Email (SMTPAppender)

For Javadoc documentation on the log4j API, see
http://jakarta.apache.org/log4j/docs/api/index.html
-->

<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
      
    <!-- Append log output to the console --> 
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
value="%-5p;%m;%d{ISO8601};[%t]%n"/>
         </layout>
    </appender>

    <!-- Append log output in XML format to a file that rolls over  --> 
    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
          <param name="File" value="../log/hwelog.xml" />
          <param name="MaxFileSize" value="100KB" />
          <layout class="org.apache.log4j.xml.XMLLayout"> </layout>
    </appender>

    <!-- Append log output to a HTML file --> 
    <!-- This file is displayed when using the log browser in DWM tool --> 
    <appender name="HTML" class="org.apache.log4j.FileAppender">
          <param name="File" value="../log/hwelog.html" />
          <param name="Append" value="false" />
          <param name="ImmediateFlush" value="true" />
          <layout class="org.apache.log4j.HTMLLayout"> 
              <param name="Title" value="Hummingbird Workflow Logs" />
          </layout>
    </appender>

    <!-- Append log output asynchronously -->
    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
            <appender-ref ref="ASYNCFILE"/>
    </appender>

    <appender name="ASYNCFILE" class="org.apache.log4j.FileAppender">
        <param name="File" value="../log/hwelogasync.log"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
value="%-5p;%m;%d{ISO8601};[%t]%n"/>
        </layout>
    </appender>

    <!-- Only warn level and higher priority to be displayed on console -->
        <category name="root">
       <priority value="warn" />
           <appender-ref ref="STDOUT" />
        </category>

    <!-- Display INFO level and higher in persistent log files -->
    <root>
       <priority value="info" />
       <appender-ref ref="HTML" />
       <appender-ref ref="FILE" />
       <appender-ref ref="ASYNC" />
    </root>

</log4j:configuration>

END========= Application's logging configuration file ================
**********************************************************************



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to