ROS日志系统部分设置ROS日志设置环境变量ROS_LOG_DIR环境变量ROS_HOME环境变量ROSCONSOLE_FORMAT环境变量ROSCONSOLE_CONFIG_FILE环境变量_ $ ROS _ rre
ROS日志设置环境变量
ros创建日志文件检测三个环境变量: ROS_LOG_DIR、ROS_HOME和HOME。 看看源代码吧。
. if (get _ environment _ variable (ROS _ log _ env, ' ROS_LOG_DIR ' ) /首先检查ROS_LOG_DIR环境变量,默认值为空{log_dir}如果存在,则将日志目录设置为$ ROS _ log _ dir } ROS _ log _ dir { if (get _ environment _ variable (如果ROS _ log _ env不存在,则'//如果存在,则将日志目录设置为$ ROS _ home/log } if (get _ environment _ variable (ROS _ log _ env,' HOME ' ) ) /使用$HOME,一般为/home/$ { user } { STD 3360360 s360 //最终日志目录为$ home/. ROS/log fs :3360 create _ directory (log _ file _ name ); }……您可以通过配置ROS_log_dir环境变量ROS_log_dir环境变量来更改rosout.log的保存路径。 更改后,将在$ROS_LOG_DIR路径下生成一个长数字列表。 与“a7e cc84 a-cd84-11e B- 8580-0f0cffe ffd”类似。 此数字是唯一基于本地mac地址、运行时间等信息生成的UUID,可以通过ROSParara
ROS_HOME环境变量指定此环境变量可以修改roslaunch启动日志,并自动创建$ROS_HOME/log目录,因此$ROS_HOME不需要包含log的子目录。 可以在roslaunch-logs中显示当前的日志目录设置。
ROSCONSOLE_FORMAT环境变量指定将日志输出到终端的显示格式。 选项包括:
安全-日志级别
时间-时间
线程信息
节点-节点名称
文件-文件名
线-行号
函数-函数名称
消息-具体消息
示例: exportrosconsole _ format=’[ $ { severity } ] [ $ { node } ] [ $ { function } ] line 3360 $ { line } $ { message }’
ROSCONSOLE_CONFIG_FILE环境变量ROSCONSOLE_CONFIG_FILE指定log4cxx的配置文件路径,并在节点启动时检查此环境变量,否则为$ROSCONSOLE_CONFIG_FILE
$ ROS _ root/config/ROS console.config配置和说明此文件实际用于ROS的log4cxx配置选项,如果未设置ROSCONSOLE_CONFIG_FILE环境变量,则为行
log4j.logger.ros.pkg=INFO,stdout,pkg_pro
# pkg是ros的包名称; stdout是标准输出,其中pkg_pro是别名,在以后的配置中可以使用此名称定义他的属性。 此行代码表示将ros中pkg软件包的日志输出到两个位置: stdout和pkg_pro,级别为INFO; 具体参照以下内容
log4j.appender.pkg_pro=org.apache.log4j.FileAppender
#输出到文件。 没有指定其他属性
log4j.appender.pkg_pro=org.apache.log4j.RollingFileAppender
#输出到文件,属性:超过大小时自动生成以下文件
log4j.appender.pkg_pro.MaxFileSize=100KB
#指定每个日志的最大大小(滚动文件应用程序属性) ) ) ) ) ) ) ) ) )。
log4j.appender.pkg_pro.MaxBackupIndex=14
#日志文档的最大生成数(默认为2个(滚动文件应用程序属性) ) ) ) ) ) ) ) ) ) )。
log4j.appender.pkg_pro=org.apache.log4j.DailyRollingFileAppender
#输出到文件,属性每天生成一个文件
log4j.appender.pkg_pro.DatePattern=’.'yyyy-MM-dd
#1天输出一个文件(如果指定了DailyRollingFileAppender属性、DailyRollingFileAppender属性,则不构成会报分析失败),其他DatePattern属性
yyyy-MM每月、yyyy-ww每周、yyyy-MM-dd每天、yyyy-MM-dd-a每天两次、yyyy-MM-dd-HH每小时、yyyy-MM-dd-HH-mm每分钟
log4j.appender.pkg_pro.Threshold=INFO
#输出指定最低输出的日志级别INFO以上的日志
log4j.appender.pkg_pro.Append=true
#打开添加模式
log4j.appender.pkg_pro.File=log_dir/log.log
#如果指定的日志路径不是$HOME/log_dir/log.log的绝对路径,则可以根据需要自行更改或与环境变量${ROSOUT_LOG_PATH}组合
log4j.appender.pkg_pro.layout=org.apache.log4j.PatternLayout
指定布局类型为图案布局。 其他类型包括:
org.Apache.log4j.htmllayout-html类型的布局是,
org.Apache.log4j.pattern layout -可以在layout.ConversionPattern中修改灵活布局模型。 有关详细信息,请参阅转换模式说明
org.apache.log4j.SimpleLayout -日志级别和详细信息布局,
org.apache.log4j.TTCCLayout -日志时间、线程和类别信息布局
log4j.appender.pkg_pro.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [$p] %m%n
#指定输出格式
%d(yyyymmDDhh:mm:ssSSS ) -时间格式、yyyy-位年、mm-2位月、dd-位日、HH-时间、mm-2分钟、ss-秒数、SSS-位毫秒(如果需要)
%p优先级
%r子程序启动和输出此消息之间经过的毫秒数
%c输出所属的类别。 通常是所属班级的全名。
%t输出生成此日志事件的线程名称。
%m输出代码指定的消息,
%L输出日志行数
%M函数名称
%F文件名
%l相当于%c%m(%f.%l )
%n换行 n (在windows上为输出rn ) ) )。