diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 01a9e36..6705c59 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -628,15 +628,18 @@
 		Start logging channel activity to {fname}.
 		When {fname} is an empty string: stop logging.
 
-		When {mode} is omitted or "a" append to the file.
-		When {mode} is "w" start with an empty file.
+		When {mode} is omitted or contains "a" or is "o" then append
+		to the file.
+		When {mode} contains "w" and not "a" start with an empty file.
+		When {mode} contains "o" then log all terminal output.
+		Otherwise only some interesting terminal output is logged.
 
 		Use |ch_log()| to write log messages.  The file is flushed
 		after every message, on Unix you can use "tail -f" to see what
 		is going on in real time.
 
 		To enable the log very early, to see what is received from a
-		terminal during startup, use |--log|: >
+		terminal during startup, use |--log| (this uses mode "ao"): >
 			vim --log logfile
 <
 		This function is not available in the |sandbox|.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index f5b33a8..ec095a4 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -346,7 +346,7 @@
 <
 --log {filename}					*--log*
 		Start logging and write entries to {filename}.
-		This works like calling `ch_logfile({filename}, 'a')` very
+		This works like calling `ch_logfile({filename}, 'ao')` very
 		early during startup.
 		{only available with the +channel feature}
 
diff --git a/src/channel.c b/src/channel.c
index e3b32ee..abd2ce1 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -152,7 +152,8 @@
     void
 ch_logfile(char_u *fname, char_u *opt)
 {
-    FILE   *file = NULL;
+    FILE	*file = NULL;
+    char	*mode = "a";
 
     if (log_fd != NULL)
     {
@@ -163,9 +164,14 @@
 	fclose(log_fd);
     }
 
+    // The "a" flag overrules the "w" flag.
+    if (vim_strchr(opt, 'a') == NULL && vim_strchr(opt, 'w') != NULL)
+	mode = "w";
+    ch_log_output = vim_strchr(opt, 'o') != NULL ? LOG_ALWAYS : FALSE;
+
     if (*fname != NUL)
     {
-	file = fopen((char *)fname, *opt == 'w' ? "w" : "a");
+	file = fopen((char *)fname, mode);
 	if (file == NULL)
 	{
 	    semsg(_(e_cant_open_file_str), fname);
diff --git a/src/edit.c b/src/edit.c
index 443e023..dbfa0ae 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -319,9 +319,8 @@
 #endif
     if (!p_ek)
     {
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
+
 	// Disable bracketed paste mode, we won't recognize the escape
 	// sequences.
 	out_str(T_BD);
@@ -3690,9 +3689,8 @@
 #endif
     if (!p_ek)
     {
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
+
 	// Re-enable bracketed paste mode.
 	out_str(T_BE);
 
diff --git a/src/main.c b/src/main.c
index b72c9ae..b92be4c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -152,7 +152,7 @@
 # endif
 # ifdef FEAT_JOB_CHANNEL
 	if (STRICMP(argv[i], "--log") == 0)
-	    ch_logfile((char_u *)(argv[i + 1]), (char_u *)"a");
+	    ch_logfile((char_u *)(argv[i + 1]), (char_u *)"ao");
 # endif
     }
 #endif
diff --git a/src/normal.c b/src/normal.c
index f075986..fdbc5c8 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -431,9 +431,8 @@
 #endif
 	if ((State & MODE_INSERT) && !p_ek)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
+
 	    // Disable bracketed paste and modifyOtherKeys here, we won't
 	    // recognize the escape sequences with 'esckeys' off.
 	    out_str(T_BD);
@@ -444,9 +443,8 @@
 
 	if ((State & MODE_INSERT) && !p_ek)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
+
 	    // Re-enable bracketed paste mode and modifyOtherKeys
 	    out_str(T_BE);
 	    out_str(T_CTI);
diff --git a/src/optionstr.c b/src/optionstr.c
index 44e178c..c26667a 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -1462,9 +1462,8 @@
 	}
 	if (varp == &T_BE && termcap_active)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
+
 	    if (*T_BE == NUL)
 		// When clearing t_BE we assume the user no longer wants
 		// bracketed paste, thus disable it by writing t_BD.
diff --git a/src/term.c b/src/term.c
index 7449d88..96a8180 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2570,7 +2570,7 @@
 	out_pos = 0;
 	ui_write(out_buf, len, FALSE);
 #ifdef FEAT_JOB_CHANNEL
-	if (ch_log_output)
+	if (ch_log_output != FALSE)
 	{
 	    out_buf[len] = NUL;
 	    ch_log(NULL, "raw %s output: \"%s\"",
@@ -2579,7 +2579,8 @@
 # endif
 			"terminal",
 			out_buf);
-	    ch_log_output = FALSE;
+	    if (ch_log_output == TRUE)
+		ch_log_output = FALSE;  // only log once
 	}
 #endif
     }
@@ -3106,9 +3107,8 @@
     void
 term_settitle(char_u *title)
 {
-#ifdef FEAT_JOB_CHANNEL
-    ch_log_output = TRUE;
-#endif
+    MAY_WANT_TO_LOG_THIS;
+
     // t_ts takes one argument: column in status line
     OUT_STR(tgoto((char *)T_TS, 0, 0));	// set title start
     out_str_nf(title);
@@ -3610,9 +3610,8 @@
 	    if (termcap_active && tmode != TMODE_SLEEP
 						   && cur_tmode != TMODE_SLEEP)
 	    {
-#ifdef FEAT_JOB_CHANNEL
-		ch_log_output = TRUE;
-#endif
+		MAY_WANT_TO_LOG_THIS;
+
 		if (tmode != TMODE_RAW)
 		{
 		    out_str(T_BD);	// disable bracketed paste mode
@@ -3643,9 +3642,8 @@
 {
     if (full_screen && !termcap_active)
     {
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
+
 	out_str(T_TI);			// start termcap mode
 	out_str(T_CTI);			// start "raw" mode
 	out_str(T_KS);			// start "keypad transmit" mode
@@ -3705,9 +3703,7 @@
 	    check_for_codes_from_term();
 	}
 #endif
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 
 #if defined(UNIX) || defined(VMS)
 	// Disable xterm's focus reporting mode if 'esckeys' is set.
@@ -3750,9 +3746,7 @@
 	    && starting == 0
 	    && *T_CRV != NUL)
     {
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 	LOG_TR(("Sending CRV request"));
 	out_str(T_CRV);
 	termrequest_sent(&crv_status);
@@ -3791,9 +3785,7 @@
 	// width, that will be (1, 2).  This function has the side effect that
 	// changes cursor position, so it must be called immediately after
 	// entering termcap mode.
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 	LOG_TR(("Sending request for ambiwidth check"));
 	// Do this in the second row.  In the first row the returned sequence
 	// may be CSI 1;2R, which is the same as <S-F3>.
@@ -3822,9 +3814,7 @@
 	// sequence is ignored and the cursor does not move.  If the terminal
 	// handles test sequence incorrectly, a garbage string is displayed and
 	// the cursor does move.
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 	LOG_TR(("Sending xterm compatibility test sequence."));
 	// Do this in the third row.  Second row is used by ambiguous
 	// character width check.
@@ -3875,9 +3865,7 @@
 	// Only request foreground if t_RF is set.
 	if (rfg_status.tr_progress == STATUS_GET && *T_RFG != NUL)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
 	    LOG_TR(("Sending FG request"));
 	    out_str(T_RFG);
 	    termrequest_sent(&rfg_status);
@@ -3888,9 +3876,7 @@
 	// Only request background if t_RB is set.
 	if (rbg_status.tr_progress == STATUS_GET && *T_RBG != NUL)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
 	    LOG_TR(("Sending BG request"));
 	    out_str(T_RBG);
 	    termrequest_sent(&rbg_status);
@@ -3954,9 +3940,7 @@
 {
     if (*T_VS != NUL && *T_CVS != NUL)
     {
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 	out_str(T_VS);
 	out_str(T_CVS);
 	screen_start();		// don't know where cursor is now
@@ -4866,9 +4850,7 @@
 		&& *T_CSH != NUL
 		&& *T_CRS != NUL)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
 	    LOG_TR(("Sending cursor style request"));
 	    out_str(T_CRS);
 	    termrequest_sent(&rcs_status);
@@ -4883,9 +4865,7 @@
 		&& term_props[TPR_CURSOR_BLINK].tpr_status == TPR_YES
 		&& *T_CRC != NUL)
 	{
-#ifdef FEAT_JOB_CHANNEL
-	    ch_log_output = TRUE;
-#endif
+	    MAY_WANT_TO_LOG_THIS;
 	    LOG_TR(("Sending cursor blink mode request"));
 	    out_str(T_CRC);
 	    termrequest_sent(&rbm_status);
@@ -6455,9 +6435,7 @@
     {
 	char *key_name = key_names[xt_index_out];
 
-#ifdef FEAT_JOB_CHANNEL
-	ch_log_output = TRUE;
-#endif
+	MAY_WANT_TO_LOG_THIS;
 	LOG_TR(("Requesting XT %d: %s", xt_index_out, key_name));
 	sprintf(buf, "\033P+q%02x%02x\033\\", key_name[0], key_name[1]);
 	out_str_nf((char_u *)buf);
diff --git a/src/version.c b/src/version.c
index 5e666ed..8e048b1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5056,
+/**/
     5055,
 /**/
     5054,
diff --git a/src/vim.h b/src/vim.h
index 9a97033..6362835 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1479,6 +1479,17 @@
 
 #define MAYBE	2	    // sometimes used for a variant on TRUE
 
+#define LOG_ALWAYS 9	    // must be different from TRUE and FALSE
+
+#ifdef FEAT_JOB_CHANNEL
+// If "--log logfile" was used or ch_logfile() was called then log some or all
+// terminal output.
+# define MAY_WANT_TO_LOG_THIS if (ch_log_output == FALSE) ch_log_output = TRUE;
+#else
+// no logging support
+# define MAY_WANT_TO_LOG_THIS
+#endif
+
 #ifndef UINT32_T
 typedef UINT32_TYPEDEF UINT32_T;
 #endif
