From 58438d398fb61fbf96dd496ffa0d4b19d66ae60b Mon Sep 17 00:00:00 2001 From: Teddy Reed Date: Tue, 12 May 2015 23:22:24 -0700 Subject: [PATCH] [#23] Add logfile_mode to control logfile permissions --- src/glog/logging.h.in | 3 +++ src/logging.cc | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/glog/logging.h.in b/src/glog/logging.h.in index b4229d0..70bf88b 100644 --- a/src/glog/logging.h.in +++ b/src/glog/logging.h.in @@ -360,6 +360,9 @@ DECLARE_int32(minloglevel); // default logging directory. DECLARE_string(log_dir); +// Set the log file mode. +DECLARE_int32(logfile_mode); + // Sets the path of the directory into which to put additional links // to the log files. DECLARE_string(log_link); diff --git a/src/logging.cc b/src/logging.cc index 5543e3a..12bc849 100644 --- a/src/logging.cc +++ b/src/logging.cc @@ -161,6 +161,8 @@ static const char* DefaultLogDir() { return ""; } +GLOG_DEFINE_int32(logfile_mode, 0664, "Log file mode/permissions."); + GLOG_DEFINE_string(log_dir, DefaultLogDir(), "If specified, logfiles are written into this directory instead " "of the default logging directory."); @@ -897,7 +899,7 @@ bool LogFileObject::CreateLogfile(const string& time_pid_string) { string string_filename = base_filename_+filename_extension_+ time_pid_string; const char* filename = string_filename.c_str(); - int fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0664); + int fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, FLAGS_logfile_mode); if (fd == -1) return false; #ifdef HAVE_FCNTL // Mark the file close-on-exec. We don't really care if this fails -- 2.7.4