Hi Thuan and Vu,


Thanks for your comment. I will update it.



Best Regards,

ThienHuynh

From: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>
Sent: Tuesday, April 7, 2020 2:43 PM
To: Thien Minh Huynh <thien.m.hu...@dektech.com.au>; Thuan Tran 
<thuan.t...@dektech.com.au>
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 1/1] log: log content is placed in a file of another stream 
[#3175]

Hi Thien,

Given file_name_find_g = "testme".

Is filter_logfile_name() expected to return true if finfo->d_name = 
"testme_20200407_143120_20200407_153120.log"?
or finfo->d_name = "testme_2.log.log"?

To me, it is better to use regular expression to assure that it only returns 
true if finfo->d_name matches the pattern:
d_name starts with `file_name_find_g`, then follows by '_yyyyMMdd_HHmmss' time 
format and ends with '.log' extension.

E.g:

#include <regex>

static std::string file_name_find_g;
static int filter_logfile_name(const struct dirent *finfo) {
    const std::string pattern = "^" + file_name_find_g + 
"_[0-9]{8}_[0-9]{6}.log$";
    const std::regex e{pattern};
    if (std::regex_match(finfo->d_name, e)) {
        return true;
    }
    return false;
}



On 4/7/20 1:21 PM, thien.m.huynh wrote:

---

 src/log/logd/lgs_filehdl.cc | 4 +++-

 1 file changed, 3 insertions(+), 1 deletion(-)



diff --git a/src/log/logd/lgs_filehdl.cc b/src/log/logd/lgs_filehdl.cc

index 0d7fb2b74..238259454 100644

--- a/src/log/logd/lgs_filehdl.cc

+++ b/src/log/logd/lgs_filehdl.cc

@@ -965,8 +965,10 @@ static int chr_cnt_b(char *str, char c, int lim) {

 static std::string file_name_find_g;

 static int filter_logfile_name(const struct dirent *finfo) {

   int found = 0;

+  int len = file_name_find_g.length();



-  if ((strstr(finfo->d_name, file_name_find_g.c_str()) != nullptr) &&

+  if ((strncmp(finfo->d_name, file_name_find_g.c_str(), len) == 0) &&

+      isdigit(finfo->d_name[len + 1]) &&

       (strstr(finfo->d_name, ".log") != nullptr))

     found = 1;




_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to