linux应用部署控制台输出

java应用很多时候需要部署在linux服务器上. 如果我们的java程序在linux服务器使用system.out.println()标准输出打印日志需要以下步骤.

1.java程序需要配置log4j日志文件,定义控制台输出

log4j.rootLogger=INFO, console, rolling

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [T=%t] [%c %M at 

%L]-[%p] %m%n

log4j.appender.rolling=org.apache.log4j.RollingFileAppender

log4j.appender.rolling.layout=org.apache.log4j.PatternLayout

扫描二维码关注公众号,回复: 272800 查看本文章

log4j.appender.rolling.MaxFileSize=100MB

log4j.appender.rolling.MaxBackupIndex=10

log4j.appender.rolling.File=./log/FtpProxyMonitor.log

log4j.appender.rolling.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [T=%t] [%c %M at 

%L]-[%p] %m%n

其中org.apache.log4j.ConsoleAppender就是配置console输出的,如果log4j没有配置会报找不到错误

2.当应用程序部署完毕需要有一个启动命令行 

  2.1 不适用nohup启动

   ${JAVA_HOME}/bin/java  -Xms64m -Xmx64m -Duser.timezone=GMT+8 -cp ${JARS} ${APP_NAME} 10.255.242.30 21 admin Cmcba PLOG  

  如果是这样system日志会在程序启动的时候在屏幕上方打印. 但是我们通常会把控制台输出定向当run.out文件里面

   ${JAVA_HOME}/bin/java  -Xms64m -Xmx64m -Duser.timezone=GMT+8 -cp ${JARS} ${APP_NAME} 10.255.242.30 21 admin Cmcba PLOG  >run.out

  2.2使用nohup 后台运行启动

   nohup ${JAVA_HOME}/bin/java  -Xms64m -Xmx64m -Duser.timezone=GMT+8 -cp ${JARS} ${APP_NAME} 10.255.242.30 21 admin Cmcba PLOG  &

   这样控制台输出会默认输出到nohup.out文件里面

  如果定义指向run.out文件,控制台输出会输出到run.out文件,不输出到nohup.out文件

   nohup ${JAVA_HOME}/bin/java  -Xms64m -Xmx64m -Duser.timezone=GMT+8 -cp ${JARS} ${APP_NAME} 10.255.242.30 21 admin Cmcba PLOG  >run.out &

3. 如果我们不想打印控制台输出可以关闭 控制台输出和错误输出

    nohup ${JAVA_HOME}/bin/java  -Xms64m -Xmx64m -Duser.timezone=GMT+8 -cp ${JARS} ${APP_NAME} 10.255.242.30 21 admin Cmcba PLOG  >/dev/null 2>&1 &

   这样system输出就不会再打印了

猜你喜欢

转载自tangzizi.iteye.com/blog/2309515