-
1. Re: System.out.println messages in JBoss EAP 6.2 logs
abhijithumbe Dec 31, 2016 2:57 AM (in response to mperdikeas-1)The logging.properties you are using seems more specific to tomcat server. Can you give a try with following property file:
log4j.appender.appenderA=org.apache.log4j.ConsoleAppender
log4j.appender.appenderA.layout=org.apache.log4j.PatternLayout
log4j.appender.appenderA.layout.ConversionPattern=[%d{MM/dd HH:mm:ss.SSS}] [%p]%c{1}:%L - %m%n
log4j.appender.appenderA.Threshold=TRACE
################################
log4j.appender.myFileAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.myFileAppender.File=app.zip
log4j.appender.myFileAppender.MaxBackupIndex=10
log4j.appender.myFileAppender.MaxFileSize=2KB
log4j.appender.myFileAppender.encoding=UTF8
log4j.appender.myFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myFileAppender.layout.ConversionPattern=[%d{MM/dd HH:mm:ss.SSS}] [%p]%c{1}:%L - %m%n
log4j.category.aaa.bbb.ChatServer=TRACE, myFileAppender
log4j.appender.myFileAppender.Threshold=DEBUG
################################
log4j.rootLogger=TRACE, appenderA
-
2. Re: System.out.println messages in JBoss EAP 6.2 logs
jamezp Jan 3, 2017 7:43 PM (in response to mperdikeas-1)You don't actually need a logging.properties to configure logging for your deployment. The logging.properties you're using is a JUL version which also does not work with per-deployment logging in JBoss EAP. You can use CLI to turn on the debugging for these categories to the console-handler.
Example CLI commands:
/subsystem=logging/logger=org.apache.catalina.session:add(level=ALL) /subsystem=logging/logger=org.apache.catalina.core.ContainerBase.[Catalina]:add(level=INFO) /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level, value=ALL)
--
James R. Perkins
-
3. Re: System.out.println messages in JBoss EAP 6.2 logs
mperdikeas-1 Jan 5, 2017 4:54 PM (in response to abhijithumbe)I am afraid this doesn't work. But more importantly, where is some description of the kind of logging.properties to use with JBoss? This seems like a nightmare to configure for such a simple task! I simply have some plain old blessed System.out.println statements I want to see in my console output. If I remove the logging.properties file entirely it does work but the question remains, assuming I want to do some kind of logging configuration where is a JBoss-provided description of the format I am supposed to use in my logging.properties file ?
-
4. Re: System.out.println messages in JBoss EAP 6.2 logs
mperdikeas-1 Jan 5, 2017 4:59 PM (in response to jamezp)Thanks for the reply, but I don't want to have to study and learn a cryptic DSL to configure my logging. That's what logging.properties files are for and you can put the in source control and everything. Plus you can have different preferences per deployment which is the way to go. Since you say that logging.properties in the JUL style are not working, would you happen to know what is the format that works for JBoss? Is it some SL4J / Log4J format? Mind you I don't use any logging framework at all, just simple System.out.printf statements.
-
5. Re: System.out.println messages in JBoss EAP 6.2 logs
jamezp Jan 6, 2017 3:02 PM (in response to mperdikeas-1)If you don't use any logging framework a logging configuration will not be of much use to you. There is one caveat however that JBoss EAP 6 does wrap System.out and System.err in loggers so it *may* work.
I'd argue the DSL is not all that cryptic as it would the the same DSL you'd use to make any change to JBoss EAP 6 or EAP 7. It's the standard CLI syntax for all management changes. The benefit of using the logging subsystem is it will not require a redeployment of your application if you want to make changes to logging. By using a logging.properties a file if you want to say turn on debug logging you'd have to make the change, then redeploy your application.
JBoss EAP 6 uses JBoss Log Manager which is an extension of JUL. The logging.properties file uses more of a log4j.properties syntax however. A similar configuration to what you have would look something like this:
logger=org.apache.catalina.session,org.apache.catalina.core.ContainerBase.[Catalina]
logger.level=INFO
logger.handlers=CONSOLE
logger.org.apache.catalina.session.level=ALL
logger.org.apache.catalina.core.ContainerBase.[Catalina].level=INFO
handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
handler.CONSOLE.formatter=COLOR-PATTERN
handler.CONSOLE.properties=autoFlush,target
handler.CONSOLE.autoFlush=true
handler.CONSOLE.target=SYSTEM_OUT
formatter.COLOR-PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.COLOR-PATTERN.properties=pattern
formatter.COLOR-PATTERN.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%e%n
The main change here is using the org.jboss.logmanager.handlers.ConsoleHandler so the same locks will be used from the server when writing to the console and the log output will similar. You'd also probably want to the the console handler the root logger. In your example you'd only ever see log messages from the org.apache.catalina.core.ContainerBase.[Catalina] logger since it's the only logger the handler is assigned to.
Hope this helps.
--
James R. Perkins
-
6. Re: System.out.println messages in JBoss EAP 6.2 logs
mperdikeas-1 Jan 6, 2017 6:08 PM (in response to jamezp)Thanks this does work but where is this format defined? Without an explanation of the syntax / structure of these files one cannot have a mental model to understand them or (much less) write one's own from scratch. The documentation at: Chapter 14. The Logging Subsystem is absolutely horrible (I couldn't find a single logging.properties example) and the presentation / implementation positively abysmal (e.g. all searches are global, you can't just search a specific chapter or documentation book).
-
7. Re: System.out.println messages in JBoss EAP 6.2 logs
jamezp Jan 6, 2017 8:26 PM (in response to mperdikeas-1)The format is defined here:
formatter.COLOR-PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.COLOR-PATTERN.properties=pattern
formatter.COLOR-PATTERN.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%e%n
That document is documenting how to configure logging in the logging subsystem not how to write a logging.properties file. I will admit there is a lack of documentation on how to write a JBoss Log Manager specific logging.properties file. However that is not that goal of that chapter.
Again it's suggested to use the logging subsystem to configure logging as it doesn't require redeployment of your application to make changes to the logging configuration.
--
James R. Perkins
-
8. Re: System.out.println messages in JBoss EAP 6.2 logs
mperdikeas-1 Jan 27, 2017 6:10 PM (in response to jamezp)Actually when I asked "where is the format defined?" I was referring not to the logging format itself but rather to the format / syntax and names / options available to the declarative "language" that is used to write the logging.properties file. Also, for the record the sample you provided did seem to work in JBoss EAP 6.4 but when I deployed to JBoss EAP 6.2 (with the exact same logging.properties file) I again lost all output of System.out.printf commands.
-
9. Re: System.out.println messages in JBoss EAP 6.2 logs
jamezp Jan 30, 2017 12:58 PM (in response to mperdikeas-1)Section 4.3.1 of the EAP 7 documentation describes the logging.properties file format Chapter 4. Logging - Red Hat Customer Portal . The format is the same for EAP 6.x as well.
It's possible there was a bug fixed at some point between JBoss EAP 6.2 and 6.4. I do recall some bugs around using System.out or System.err in per-deployment logging. You may want to contact support as there may be a patch available for EAP 6.2.
Just as a reminder too using System.out or System.err is not generally configured by a log manager. The only reason it is in EAP is because the streams are wrapped in a logger.
--
James R. Perkins