summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2020-09-28 19:38:08 +0800
committeryangwei <[email protected]>2020-09-28 19:38:08 +0800
commit15fe6853830ca140c9d027148e66d51574553474 (patch)
treeaf82591ce383be16ea88f82f7546a539bbfdacb2
parente1057e6d0cf2d2b1d236539f8d3882f08d589f4f (diff)
🦄refactor(tmpfile):
snapshot目录更新至/tmp/MESA_handle_logger,同时增加按1小时回收文件的脚本,rpm安装后将安装至/usr/lib/tmpfiles.d/目录
-rw-r--r--CMakeLists.txt1
-rw-r--r--cmake/Package.cmake2
-rw-r--r--conf/MESA_handle_logger.conf2
-rw-r--r--src/MESA_handle_logger.c8
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)
{