You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by 流子℡ <41...@qq.com> on 2013/09/08 18:07:36 UTC

回复: 回复:why can log4j2 not print on console in command window

1.my project is named global,and it is compiled to global.jar using ant script ,the content of file named start.bat is as this:java  -jar global.jar
2.When I run from the command line from my global.jar ,the log4j2.xml file  is located at the same file directory level with global.jar and start.bat


thank you for your answer !
Allen


------------------ 原始邮件 ------------------
发件人: "Ralph Goers";<ra...@dslextreme.com>;
发送时间: 2013年9月8日(星期天) 晚上11:53
收件人: "Log4J Users List"<lo...@logging.apache.org>; 

主题: Re: 回复:why can log4j2 not print on console in command window



1. What does start.bat do? Can you post the source?
2. When you run from the command line from your jar where is the log4j2.xml file located?

Ralph

On Sep 8, 2013, at 8:36 AM, 流子℡ wrote:

> i use log4j2 as following:
> iimport org.apache.logging.log4j.LogManager;
> import org.apache.logging.log4j.Logger;
> private static final Logger logger = LogManager.getLogger(OOXX.class);
> 
> 
> 
> 
> ------------------ 原始邮件 ------------------
> 发件人: "流子";<41...@qq.com>;
> 发送时间: 2013年9月8日(星期天) 晚上11:32
> 收件人: "log4j-user-info"<lo...@logging.apache.org>; "log4j-user-faq"<lo...@logging.apache.org>; "log4j-user"<lo...@logging.apache.org>; 
> 
> 主题: why can log4j2 not print on console in command window
> 
> 
> 
> I have use the version beta 8 for log4j2, I have third-party framework using in my project ,e.g. spring which using slf4j.
> and i import the jars into my libaray :log4j-over-slf4j-1.7.5.jar log4j-api-2.0-beta8.jar log4j-core-2.0-beta8.jar  log4j-slf4j-impl-2.0-beta8.jar
> 
> 
> and my java environment is JDK 7,my configration file named log4j2.xml is as following :
> <?xml version="1.0" encoding="UTF-8"?><!-- status=debug 可以查看log4j的装配过程 --><configuration status="off" monitorInterval="30">	<properties>		<property name="LOG_HOME">/log/fish</property>		<!-- 日志备份目录 -->		<property name="BACKUP_HOME">{LOG_HOME}/backup</property>		<property name="STAT_NAME">stat</property>		<property name="SERVER_NAME">global</property>	</properties>	<appenders>		<!-- 定义控制台输出 -->		<Console name="Console" target="SYSTEM_OUT">			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />		</Console>		<!-- 程序员调试日志 -->		<FastRollingFile name="DevLog" fileName="${LOG_HOME}/${SERVER_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />			<Policies>				<TimeBasedTriggeringPolicy interval="1" modulate="true" />			</Policies>		</FastRollingFile>		<!-- 游戏产品数据分析日志 -->		<FastRollingFile name="ProductLog"			fileName="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout				pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />			<Policies>				<TimeBasedTriggeringPolicy interval="1"					modulate="true" />			</Policies>		</FastRollingFile>	</appenders>	<loggers>		<!-- 3rdparty Loggers -->		<logger name="org.springframework.core" level="info">		</logger>		<logger name="org.springframework.beans" level="info">		</logger>		<logger name="org.springframework.context" level="info">		</logger>		<logger name="org.springframework.web" level="info">		</logger>		<logger name="org.jboss.netty" level="warn">		</logger>		<logger name="org.apache.http" level="warn">		</logger>		<!-- Game Stat logger -->		<logger name="com.u9.global.service.log" level="info"			additivity="false">			<appender-ref ref="ProductLog" />		</logger>		<!-- Root Logger -->		<root level="DEBUG">			<appender-ref ref="DevLog" />			<appender-ref ref="Console" />		</root>	</loggers></configuration>
> 
> when I run my project ,it works ok in eclipse,everything print ok in console. however,when i compile the project to jar ,and run it by start.bat ,log4j2 can.t print output in cmd window,i can't catch the reason,pls help me. thank you!


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org

.

Re: 回复: 回复:why can log4j2 not print on console in command window

Posted by 流子℡ <41...@qq.com>.
the file's content inclued in  global.jar named  manifest.mf is as following:


Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_25-b17 (Oracle Corporation)
Main-Class: com.u9.global.GlobalServer
Built-By: Administrator
Built-Date: 2013-09-09 20:03:56
Implementation-Version: ${branch}-${version}
Class-Path: lib/antlr-2.7.6.jar lib/aopalliance-1.0.jar lib/asm-2.2.3.
 jar lib/asm-commons-2.2.3.jar lib/aspectjrt.jar lib/aspectjweaver.jar
  lib/bcel-5.2.jar lib/c3p0-0.9.1.jar lib/cglib-nodep-2.2.jar lib/comm
 ons-cli-1.2.jar lib/commons-codec-1.4.jar lib/commons-collections.jar
  lib/commons-httpclient-3.1.jar lib/commons-io.jar lib/commons-lang-2
 .4.jar lib/commons-logging-1.1.1.jar lib/commons-pool.jar lib/dom4j-1
 .6.1.jar lib/fastjson-1.1.35.jar lib/game-common.jar lib/guava-14.0.1
 .jar lib/jasypt-1.5.jar lib/javassist-3.4.GA.jar lib/jaxen-1.1-beta-7
 .jar lib/jedis-2.1.0.jar lib/log4j-api-2.0-beta8.jar lib/log4j-core-2
 .0-beta8.jar lib/log4j-over-slf4j-1.7.5.jar lib/log4j-slf4j-impl-2.0-
 beta8.jar lib/lua-java-1.1.jar lib/luaj-jse-2.0.2.jar lib/mysql-conne
 ctor-java-5.1.13.jar lib/netty-3.6.6.Final.jar lib/protobuf-java-2.5.
 0.jar lib/protobuf-java-format-1.2.jar lib/slf4j-api-1.7.5.jar lib/sn
 appy-java-1.0.3.2.jar lib/spring-aop-3.2.4.RELEASE.jar lib/spring-asp
 ects-3.2.4.RELEASE.jar lib/spring-beans-3.2.4.RELEASE.jar lib/spring-
 context-3.2.4.RELEASE.jar lib/spring-context-support-3.2.4.RELEASE.ja
 r lib/spring-core-3.2.4.RELEASE.jar lib/spring-expression-3.2.4.RELEA
 SE.jar lib/spring-jdbc-3.2.4.RELEASE.jar lib/spring-tx-3.2.4.RELEASE.
 jar





------------------ Original ------------------
From:  "Jacob Kjome";<ho...@visi.com>;
Date:  Mon, Sep 9, 2013 01:24 AM
To:  "Log4J Users List"<lo...@logging.apache.org>; 

Subject:  Re:  回复: 回复:why can log4j2 not print on console in command  window




Please post the contents of the manifest.mf file.  Unless you have a period in 
the "Class-Path" value, then the current directory won't get placed in the 
classpath using the -jar option.  Hence, your log4j2.xml won't get picked up.

For instance..

Class-Path: . someJarDep.jar


Jake


On Mon, 9 Sep 2013 00:07:36 +0800
 "=?gb18030?B?wffX06lZ?=" <41...@qq.com> wrote:
> 1.my project is named global,and it is compiled to global.jar using ant 
>script ,the content of file named start.bat is as this:java  -jar global.jar
> 2.When I run from the command line from my global.jar ,the log4j2.xml file 
> is located at the same file directory level with global.jar and start.bat
> 
> 
> thank you for your answer !
> Allen
> 
> 
> ------------------ ???????? ------------------
> ??????: "Ralph Goers";<ra...@dslextreme.com>;
> ????????: 2013??9??8??(??????) ????11:53
> ??????: "Log4J Users List"<lo...@logging.apache.org>; 
> 
> ????: Re: ??????why can log4j2 not print on console in command window
> 
> 
> 
> 1. What does start.bat do? Can you post the source?
> 2. When you run from the command line from your jar where is the log4j2.xml 
>file located?
> 
> Ralph
> 
> On Sep 8, 2013, at 8:36 AM, ?????Y wrote:
> 
>> i use log4j2 as following:
>> iimport org.apache.logging.log4j.LogManager;
>> import org.apache.logging.log4j.Logger;
>> private static final Logger logger = LogManager.getLogger(OOXX.class);
>> 
>> 
>> 
>> 
>> ------------------ ???????? ------------------
>> ??????: "????";<41...@qq.com>;
>> ????????: 2013??9??8??(??????) ????11:32
>> ??????: "log4j-user-info"<lo...@logging.apache.org>; 
>>"log4j-user-faq"<lo...@logging.apache.org>; 
>>"log4j-user"<lo...@logging.apache.org>; 
>> 
>> ????: why can log4j2 not print on console in command window
>> 
>> 
>> 
>> I have use the version beta 8 for log4j2, I have third-party framework using 
>>in my project ,e.g. spring which using slf4j.
>> and i import the jars into my libaray :log4j-over-slf4j-1.7.5.jar 
>>log4j-api-2.0-beta8.jar log4j-core-2.0-beta8.jar 
>> log4j-slf4j-impl-2.0-beta8.jar
>> 
>> 
>> and my java environment is JDK 7,my configration file named log4j2.xml is as 
>>following :
>> <?xml version="1.0" encoding="UTF-8"?><!-- status=debug 
>>????????log4j?????????? --><configuration status="off" 
>>monitorInterval="30">	<properties>		<property 
>>name="LOG_HOME">/log/fish</property>		<!-- ???????????? -->		<property 
>>name="BACKUP_HOME">{LOG_HOME}/backup</property>		<property 
>>name="STAT_NAME">stat</property>		<property 
>>name="SERVER_NAME">global</property>	</properties>	<appenders>		<!-- 
>>?????????????? -->		<Console name="Console" 
>>target="SYSTEM_OUT">			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} 
>>%level [%thread][%file:%line] - %msg%n" />		</Console>		<!-- ?????????????? 
>>-->		<FastRollingFile name="DevLog" 
>>fileName="${LOG_HOME}/${SERVER_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout 
>>pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - 
>>%msg%n" />			<Policies>				<TimeBasedTriggeringPolicy interval="1" 
>>modulate="true" />			</Policies>		</FastRollingFile>		<!-- 
>>???????????????????? -->		<FastRollingFile 
>>name="ProductLog"			fileName="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout				pattern="%date{yyyy-MM-dd 
>>HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" 
>>/>			<Policies>				<TimeBasedTriggeringPolicy 
>>interval="1"					modulate="true" 
>>/>			</Policies>		</FastRollingFile>	</appenders>	<loggers>		<!-- 3rdparty 
>>Loggers -->		<logger name="org.springframework.core" 
>>level="info">		</logger>		<logger name="org.springframework.beans" 
>>level="info">		</logger>		<logger name="org.springframework.context" 
>>level="info">		</logger>		<logger name="org.springframework.web" 
>>level="info">		</logger>		<logger name="org.jboss.netty" 
>>level="warn">		</logger>		<logger name="org.apache.http" 
>>level="warn">		</logger>		<!-- Game Stat logger -->		<logger 
>>name="com.u9.global.service.log" 
>>level="info"			additivity="false">			<appender-ref ref="ProductLog" 
>>/>		</logger>		<!-- Root Logger -->		<root level="DEBUG">			<appender-ref 
>>ref="DevLog" />			<appender-ref ref="Console" 
>>/>		</root>	</loggers></configuration>
>> 
>> when I run my project ,it works ok in eclipse,everything print ok in 
>>console. however,when i compile the project to jar ,and run it by start.bat 
>>,log4j2 can.t print output in cmd window,i can't catch the reason,pls help 
>>me. thank you!
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> .


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org

.

Re: 回复: 回复:why can log4j2 not print on console in command window

Posted by Jacob Kjome <ho...@visi.com>.
Please post the contents of the manifest.mf file.  Unless you have a period in 
the "Class-Path" value, then the current directory won't get placed in the 
classpath using the -jar option.  Hence, your log4j2.xml won't get picked up.

For instance..

Class-Path: . someJarDep.jar


Jake


On Mon, 9 Sep 2013 00:07:36 +0800
 "=?gb18030?B?wffX06lZ?=" <41...@qq.com> wrote:
> 1.my project is named global,and it is compiled to global.jar using ant 
>script ,the content of file named start.bat is as this:java  -jar global.jar
> 2.When I run from the command line from my global.jar ,the log4j2.xml file 
> is located at the same file directory level with global.jar and start.bat
> 
> 
> thank you for your answer !
> Allen
> 
> 
> ------------------ ???????? ------------------
> ??????: "Ralph Goers";<ra...@dslextreme.com>;
> ????????: 2013??9??8??(??????) ????11:53
> ??????: "Log4J Users List"<lo...@logging.apache.org>; 
> 
> ????: Re: ??????why can log4j2 not print on console in command window
> 
> 
> 
> 1. What does start.bat do? Can you post the source?
> 2. When you run from the command line from your jar where is the log4j2.xml 
>file located?
> 
> Ralph
> 
> On Sep 8, 2013, at 8:36 AM, ?????Y wrote:
> 
>> i use log4j2 as following:
>> iimport org.apache.logging.log4j.LogManager;
>> import org.apache.logging.log4j.Logger;
>> private static final Logger logger = LogManager.getLogger(OOXX.class);
>> 
>> 
>> 
>> 
>> ------------------ ???????? ------------------
>> ??????: "????";<41...@qq.com>;
>> ????????: 2013??9??8??(??????) ????11:32
>> ??????: "log4j-user-info"<lo...@logging.apache.org>; 
>>"log4j-user-faq"<lo...@logging.apache.org>; 
>>"log4j-user"<lo...@logging.apache.org>; 
>> 
>> ????: why can log4j2 not print on console in command window
>> 
>> 
>> 
>> I have use the version beta 8 for log4j2, I have third-party framework using 
>>in my project ,e.g. spring which using slf4j.
>> and i import the jars into my libaray :log4j-over-slf4j-1.7.5.jar 
>>log4j-api-2.0-beta8.jar log4j-core-2.0-beta8.jar 
>> log4j-slf4j-impl-2.0-beta8.jar
>> 
>> 
>> and my java environment is JDK 7,my configration file named log4j2.xml is as 
>>following :
>> <?xml version="1.0" encoding="UTF-8"?><!-- status=debug 
>>????????log4j?????????? --><configuration status="off" 
>>monitorInterval="30">	<properties>		<property 
>>name="LOG_HOME">/log/fish</property>		<!-- ???????????? -->		<property 
>>name="BACKUP_HOME">{LOG_HOME}/backup</property>		<property 
>>name="STAT_NAME">stat</property>		<property 
>>name="SERVER_NAME">global</property>	</properties>	<appenders>		<!-- 
>>?????????????? -->		<Console name="Console" 
>>target="SYSTEM_OUT">			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} 
>>%level [%thread][%file:%line] - %msg%n" />		</Console>		<!-- ?????????????? 
>>-->		<FastRollingFile name="DevLog" 
>>fileName="${LOG_HOME}/${SERVER_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout 
>>pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - 
>>%msg%n" />			<Policies>				<TimeBasedTriggeringPolicy interval="1" 
>>modulate="true" />			</Policies>		</FastRollingFile>		<!-- 
>>???????????????????? -->		<FastRollingFile 
>>name="ProductLog"			fileName="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}"			filePattern="${LOG_HOME}/${SERVER_NAME}_${STAT_NAME}.%d{yyyy-MM-dd-HH}.log">			<PatternLayout				pattern="%date{yyyy-MM-dd 
>>HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" 
>>/>			<Policies>				<TimeBasedTriggeringPolicy 
>>interval="1"					modulate="true" 
>>/>			</Policies>		</FastRollingFile>	</appenders>	<loggers>		<!-- 3rdparty 
>>Loggers -->		<logger name="org.springframework.core" 
>>level="info">		</logger>		<logger name="org.springframework.beans" 
>>level="info">		</logger>		<logger name="org.springframework.context" 
>>level="info">		</logger>		<logger name="org.springframework.web" 
>>level="info">		</logger>		<logger name="org.jboss.netty" 
>>level="warn">		</logger>		<logger name="org.apache.http" 
>>level="warn">		</logger>		<!-- Game Stat logger -->		<logger 
>>name="com.u9.global.service.log" 
>>level="info"			additivity="false">			<appender-ref ref="ProductLog" 
>>/>		</logger>		<!-- Root Logger -->		<root level="DEBUG">			<appender-ref 
>>ref="DevLog" />			<appender-ref ref="Console" 
>>/>		</root>	</loggers></configuration>
>> 
>> when I run my project ,it works ok in eclipse,everything print ok in 
>>console. however,when i compile the project to jar ,and run it by start.bat 
>>,log4j2 can.t print output in cmd window,i can't catch the reason,pls help 
>>me. thank you!
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>For additional commands, e-mail: log4j-user-help@logging.apache.org
> 
> .


---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org