[jboss-jira] [JBoss JIRA] (LOGMGR-104) SyslogHandler doesn't handle multi-byte characters correctly

James Perkins (JIRA) issues at jboss.org
Mon May 12 18:46:56 EDT 2014


     [ https://issues.jboss.org/browse/LOGMGR-104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Perkins reassigned LOGMGR-104:
------------------------------------

    Assignee: James Perkins  (was: David Lloyd)


> SyslogHandler doesn't handle multi-byte characters correctly
> ------------------------------------------------------------
>
>                 Key: LOGMGR-104
>                 URL: https://issues.jboss.org/browse/LOGMGR-104
>             Project: JBoss Log Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: core
>    Affects Versions: 1.5.2.Final
>         Environment: - WildFly 8.0.0.Final
> - Oracle JDK7u51
> - OS X 10.9.2
>            Reporter: Kyle Shanahan
>            Assignee: James Perkins
>         Attachments: corrupted.png, corrupted2.png, corrupted3.png
>
>
> SyslogHandler doesn't handle multi-byte characters correctly.
> I tried to log multi-byte message with both of org.jboss.logmanager.handlers.SyslogHandler and org.apache.log4j.net.SyslogAppender for same message, only SyslogHandler output were corrupted.
> Step to reproduce (It might need to define -Dfile.encoding=UTF-8 in _JAVA_OPTIONS): 
> 1. define a facility local1 at localhost and make syslog accept UDP packets.
> 2. define a logger:
> {noformat}
> /subsystem=logging/logger=utf8mb4log:add(level=INFO)
> {noformat}
> 3. define a SyslogHandler:
> {noformat}
> /subsystem=logging/custom-handler=TEST_SH:add(class="org.jboss.logmanager.handlers.SyslogHandler", module="org.jboss.logmanager", formatter="SyslogHandler: %s%e", level=INFO, properties={serverHostname="localhost:514", facility="LOCAL_USE_1", truncate=false, maxLength=1024, syslogType="RFC3164" })
> /subsystem=logging/logger=utf8mb4log:assign-handler(name=TEST_SH)
> {noformat}
> 4. define a SyslogAppender:
> {noformat}
> /subsystem=logging/custom-handler=TEST_LOG4J:add(class="org.apache.log4j.net.SyslogAppender", module="org.apache.log4j", formatter="log4j: %s%e", level=INFO, properties={syslogHost="localhost:514", facility="local1"})
> /subsystem=logging/logger=utf8mb4log:assign-handler(name=TEST_LOG4J)
> {noformat}
> 5. get and deploy example project at https://github.com/lbtc-xxx/utf8mb4log
> 6. Access the servlet http://localhost:8080/utf8mb4log/
> And you will get like this: (I can't put 4 byte UTF-8 characters here... because  database error occured):
> {noformat}
> Mar  8 17:29:09 UNKNOWN_HOSTNAME java[9896]: SyslogHandler: ????????????
> {noformat}
> I would send a pull request later.



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)


More information about the jboss-jira mailing list