Ticket #827: Option in PJSUA-LIB logging config to append existing log file (thanks Robert Cichielo for the suggestion)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2686 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index e17a7f6..cb21ea0 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -472,6 +472,16 @@
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 7430fc1..b57b81e 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -476,10 +476,11 @@
/* 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) {