# Log configuration for Xtext logging.
# This log configuration will be used for the non-UI parts of Xtext.
#
# For your convenience: valid log levels are (from least to most significant):
# TRACE, DEBUG, INFO, WARN, ERROR and FATAL
# Log4J manual: http://logging.apache.org/log4j/1.2/manual.html
# Xtext log configuration info: http://wiki.eclipse.org/Xtext_Project_Plan/Features/Logging

# Root logger configuration. Don't change this.
log4j.rootLogger=INFO, default

# This appender will write to the stdout console
log4j.appender.default=org.apache.log4j.ConsoleAppender
log4j.appender.default.layout=org.apache.log4j.PatternLayout
log4j.appender.default.layout.ConversionPattern=%-4r [%t] %-5p %35.35c %x - %m%n

# Configure your log categories below:
log4j.logger.org.eclipse.xtext=INFO
log4j.logger.org.eclipse.xtext.parsetree.reconstr=INFO