]
RH Bugzilla Integration commented on LOGMGR-104:
------------------------------------------------
Nikoleta Ziakova <nziakova(a)redhat.com> changed the Status of [bug
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
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
Fix For: 1.5.3.Final, 2.0.0.Beta1
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.