From 15fe6853830ca140c9d027148e66d51574553474 Mon Sep 17 00:00:00 2001 From: yangwei Date: Mon, 28 Sep 2020 19:38:08 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=A6=84refactor(tmpfile):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit snapshot目录更新至/tmp/MESA_handle_logger,同时增加按1小时回收文件的脚本,rpm安装后将安装至/usr/lib/tmpfiles.d/目录 --- CMakeLists.txt | 1 + cmake/Package.cmake | 2 +- conf/MESA_handle_logger.conf | 2 ++ src/MESA_handle_logger.c | 8 +++++--- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 conf/MESA_handle_logger.conf diff --git a/CMakeLists.txt b/CMakeLists.txt index a2258dc..5738e87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,7 @@ install(FILES inc/MESA_handle_logger.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT devel) install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES) install(FILES inc/MESA_handle_logger.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER) +install(FILES conf/MESA_handle_logger.conf DESTINATION /usr/lib/tmpfiles.d/ COMPONENT PROFILE) diff --git a/cmake/Package.cmake b/cmake/Package.cmake index 6969307..48dbaff 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -46,7 +46,7 @@ set(CPACK_COMPONENT_HEADER_GROUP "header") set(CPACK_RPM_HEADER_PACKAGE_REQUIRES_PRE ${CPACK_RPM_LIBRARIES_PACKAGE_NAME}) set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME}) -set(CPACK_COMPONENTS_ALL LIBRARIES HEADER EXECUTABLE) +set(CPACK_COMPONENTS_ALL LIBRARIES HEADER EXECUTABLE PROFILE) set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in) set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PostInstall.in) diff --git a/conf/MESA_handle_logger.conf b/conf/MESA_handle_logger.conf new file mode 100644 index 0000000..1137bf3 --- /dev/null +++ b/conf/MESA_handle_logger.conf @@ -0,0 +1,2 @@ +#Type Path Mode User Group Age Argument +d /tmp/MESA_handle_logger/ 0755 - - 1h - diff --git a/src/MESA_handle_logger.c b/src/MESA_handle_logger.c index cc47733..f0d608a 100644 --- a/src/MESA_handle_logger.c +++ b/src/MESA_handle_logger.c @@ -94,14 +94,13 @@ static int get_filepath(int fp, char *buf, int buflen) { if(buf == NULL || buflen <=0)return -1; char proclnk[0xFFF] = ""; - //int fno = fileno(fp); int fno = fp; sprintf(proclnk, "/proc/self/fd/%d", fno); int r = readlink(proclnk, buf, buflen); return r; } -static char tmp_template[] = "/tmp/handle_loggger.XXXXXX"; +//static char tmp_template[] = "/tmp/MESA_handle_loggger/handle_loggger.XXXXXX"; static void escape_for_zlog(char *in_buf, int buflen) { @@ -129,11 +128,14 @@ static const char *loglevel_to_name(int level) static void snapshot_handle_info(const char *handle_name, const char *log_path, int level) { char zlog_rule_conf_content[MAX_HANDLE_LOG_PATH + 1] = ""; + static char *tmp_prefix = "/tmp/MESA_handle_logger/"; static char *zlog_conf_init_buff = "[global]\ndefault format = \"%d(%c), %V, %F, %U, %m%n\" \n[levels]\nDEBUG=10\nINFO=20\nFATAL=30\n[rules]"; if (g_zlog_conf_fp == -1) { + if (create_path("/tmp/MESA_handle_logger/", strlen(tmp_prefix)) < 0) + return; char temp_filename[1024] = ""; - sprintf(temp_filename, "/tmp/MESA_handle_logger_%d.XXXXXX", getpid()); + sprintf(temp_filename, "/tmp/MESA_handle_logger/MESA_logger_snapshot_%d.XXXXXX", getpid()); g_zlog_conf_fp = mkstemp(temp_filename); if (g_zlog_conf_fp == -1) {