[
https://issues.apache.org/jira/browse/LOG4J2-1636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15563069#comment-15563069
]
Gary Gregory commented on LOG4J2-1636:
--------------------------------------
Please check Uploading:
https://repository.apache.org/content/repositories/snapshots/ or Git master for
a fix.
If you do not specify a {{Layout}} in your {{Console}} Appender, then you will
get a default layout built by the Console Appender which will use the
{{sun.stdout.encoding}} value if it is present. If {{sun.stdout.encoding}} is
absent, then the appender uses {{Charset.defaultCharset()}}.
This is what is still troublesome:
- {{PatternLayout}} uses {{Charset.defaultCharset()}} for the default, which
makes sense in the big picture.
- If you specify a {{Layout}} without a {{charset}} field, then the
{{Charset.defaultCharset()}} kicks in.
- When a configuration is built, a {{PatternLayout}} does not know it is being
built in a {{Console}} Appender. The {{Layout}} gets built first, then the
Appender.
- What if you really want to use {{Charset.defaultCharset()}} in your
configuration no matter what {{sun.stdout.encoding}} says?
I'm not sure how to solve this cleanly.
Suggestions welcome.
> Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and
> sun.stderr.encoding
> ----------------------------------------------------------------------------------------------
>
> Key: LOG4J2-1636
> URL: https://issues.apache.org/jira/browse/LOG4J2-1636
> Project: Log4j 2
> Issue Type: Bug
> Components: Appenders, Layouts
> Environment: Windows
> Reporter: Eldar Gabdullin
> Assignee: Gary Gregory
>
> The Oracle Java 8 platform supports two system properties to configure the
> System console: sun.stdout.encoding and sun.stderr.encoding.
> ----
> Default log4j configuration prints to console using platform's default
> encoding, however that's not what standard windows console expects.
> I.e.
> {code}
> System.out.println("Поехали"); // works just fine
> System.out.write("Поехали!\n".getBytes(Charset.defaultCharset())); //
> characters are messed up
> log.info("Поехали"); // messed up in the same way
> {code}
> This happens not just on one machine, but on all Windows desktops and servers
> in our organization.
> Can we have out of the box Layout/Appender which prints directly to
> System.out/err?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]