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) {