summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h10
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c5
2 files changed, 13 insertions, 2 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index e17a7f64..cb21ea07 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -472,6 +472,16 @@ typedef struct pjsua_logging_config
pj_str_t log_filename;
/**
+ * Additional flags to be given to #pj_file_open() when opening
+ * the log file. By default, the flag is PJ_O_WRONLY. Application
+ * may set PJ_O_APPEND here so that logs are appended to existing
+ * file instead of overwriting it.
+ *
+ * Default is 0.
+ */
+ unsigned log_file_flags;
+
+ /**
* Optional callback function to be called to write log to
* application specific device. This function will be called for
* log messages on input verbosity level.
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index 7430fc12..b57b81e3 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -476,10 +476,11 @@ PJ_DEF(pj_status_t) pjsua_reconfigure_logging(const pjsua_logging_config *cfg)
/* If output log file is desired, create the file: */
if (pjsua_var.log_cfg.log_filename.slen) {
-
+ unsigned flags = PJ_O_WRONLY;
+ flags |= pjsua_var.log_cfg.log_file_flags;
status = pj_file_open(pjsua_var.pool,
pjsua_var.log_cfg.log_filename.ptr,
- PJ_O_WRONLY,
+ flags,
&pjsua_var.log_file);
if (status != PJ_SUCCESS) {