我们如何在每次运行的日志文件中添加时间戳?

时间:2017-05-09 10:12:38

标签: apache-spark log4j

我有一个问题inlog4j FileAppender

/home/omega/conf/log4j.properties:

log4j.rootCategory=INFO, file    

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=../logs/omega.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.file.MaxFileSize=300MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

Spark-Submit命令:

spark-submit --class ${MAIN_CLASS} \
--driver-java-options "-Dlog4j.configuration=file:/home/omega/conf/log4j.properties" \
--master ${MASTER_URL} \
--num-executors ${NUM_EXECUTORS} \
--executor-memory ${EXECUTOR_MEMORY} \
--executor-cores ${EXECUTOR_CORES} \
 ${APP_JAR} ${CONF_PATH} ${INPUT_FILE_NAME}  ${FILE_DATE}

我看到日志文件已经创建为omega.log,用于我第一次运行spark submit命令

但是当我第二次运行spark submit命令时,我看到同一个日志文件附加了新闻日志..

但我希望每次运行spark submit命令时都会创建一个新的日志文件,并且我还希望将tiemstamp添加到我的日志文件名中

基本上我想要创建一个名为

的时间戳的新日志文件

我使用DailyRollingFileAppender实现此目的,但它为单次运行创建了更多日志文件。

所以预期的日志文件:

omega_timestamp_for_first_run.log 
omega_timestamp_for_second_run.log
omega_timestamp_for_third_run.log

其实我正在寻找类似的东西

 ex : omega_2017_05_09_11_05.log 

有人可以帮我吗?

0 个答案:

没有答案