diff options
| author | yangwei <[email protected]> | 2020-09-28 19:38:08 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2020-09-28 19:38:08 +0800 |
| commit | 15fe6853830ca140c9d027148e66d51574553474 (patch) | |
| tree | af82591ce383be16ea88f82f7546a539bbfdacb2 | |
| parent | e1057e6d0cf2d2b1d236539f8d3882f08d589f4f (diff) | |
🦄refactor(tmpfile):
snapshot目录更新至/tmp/MESA_handle_logger,同时增加按1小时回收文件的脚本,rpm安装后将安装至/usr/lib/tmpfiles.d/目录
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | cmake/Package.cmake | 2 | ||||
| -rw-r--r-- | conf/MESA_handle_logger.conf | 2 | ||||
| -rw-r--r-- | src/MESA_handle_logger.c | 8 |
4 files changed, 9 insertions, 4 deletions
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) { |
