Browse Source

dns_conf: add option to enable output log to console.

Nick Peng 2 years ago
parent
commit
1c605938e0
5 changed files with 16 additions and 1 deletions
  1. 2 0
      etc/smartdns/smartdns.conf
  2. 4 0
      src/dns_conf.c
  3. 2 0
      src/dns_conf.h
  4. 4 0
      src/dns_server.c
  5. 4 1
      src/smartdns.c

+ 2 - 0
etc/smartdns/smartdns.conf

@@ -142,6 +142,7 @@ force-qtype-SOA 65
 # set log level
 # log-level: [level], level=fatal, error, warn, notice, info, debug
 # log-file: file path of log file.
+# log-console [yes|no]: output log to console.
 # log-size: size of each log file, support k,m,g
 # log-num: number of logs, 0 means disable log
 log-level info
@@ -157,6 +158,7 @@ log-level info
 # audit-SOA [yes|no]: enable or disable log soa result.
 # audit-size size of each audit file, support k,m,g
 # audit-file /var/log/smartdns-audit.log
+# audit-console [yes|no]: output audit log to console.
 # audit-file-mode [mode]: file mode of audit file.
 # audit-size 128k
 # audit-num 2

+ 4 - 0
src/dns_conf.c

@@ -114,6 +114,7 @@ char dns_conf_log_file[DNS_MAX_PATH];
 size_t dns_conf_log_size = 1024 * 1024;
 int dns_conf_log_num = 8;
 int dns_conf_log_file_mode;
+int dns_conf_log_console;
 
 /* CA file */
 char dns_conf_ca_file[DNS_MAX_PATH];
@@ -129,6 +130,7 @@ char dns_conf_audit_file[DNS_MAX_PATH];
 size_t dns_conf_audit_size = 1024 * 1024;
 int dns_conf_audit_num = 2;
 int dns_conf_audit_file_mode;
+int dns_conf_audit_console;
 
 /* address rules */
 art_tree dns_conf_domain_rule;
@@ -3142,6 +3144,7 @@ static struct config_item _config_item[] = {
 	CONF_CUSTOM("log-file", _config_option_parser_filepath, (char *)dns_conf_log_file),
 	CONF_SIZE("log-size", &dns_conf_log_size, 0, 1024 * 1024 * 1024),
 	CONF_INT("log-num", &dns_conf_log_num, 0, 1024),
+	CONF_YESNO("log-console", &dns_conf_log_console),
 	CONF_INT_BASE("log-file-mode", &dns_conf_log_file_mode, 0, 511, 8),
 	CONF_YESNO("audit-enable", &dns_conf_audit_enable),
 	CONF_YESNO("audit-SOA", &dns_conf_audit_log_SOA),
@@ -3149,6 +3152,7 @@ static struct config_item _config_item[] = {
 	CONF_INT_BASE("audit-file-mode", &dns_conf_audit_file_mode, 0, 511, 8),
 	CONF_SIZE("audit-size", &dns_conf_audit_size, 0, 1024 * 1024 * 1024),
 	CONF_INT("audit-num", &dns_conf_audit_num, 0, 1024),
+	CONF_YESNO("audit-console", &dns_conf_audit_console),
 	CONF_INT("rr-ttl", &dns_conf_rr_ttl, 0, CONF_INT_MAX),
 	CONF_INT("rr-ttl-min", &dns_conf_rr_ttl_min, 0, CONF_INT_MAX),
 	CONF_INT("rr-ttl-max", &dns_conf_rr_ttl_max, 0, CONF_INT_MAX),

+ 2 - 0
src/dns_conf.h

@@ -434,6 +434,7 @@ extern char dns_conf_log_file[DNS_MAX_PATH];
 extern size_t dns_conf_log_size;
 extern int dns_conf_log_num;
 extern int dns_conf_log_file_mode;
+extern int dns_conf_log_console;
 
 extern char dns_conf_ca_file[DNS_MAX_PATH];
 extern char dns_conf_ca_path[DNS_MAX_PATH];
@@ -452,6 +453,7 @@ extern char dns_conf_audit_file[DNS_MAX_PATH];
 extern size_t dns_conf_audit_size;
 extern int dns_conf_audit_num;
 extern int dns_conf_audit_file_mode;
+extern int dns_conf_audit_console;
 
 extern char dns_conf_server_name[DNS_MAX_SERVER_NAME_LEN];
 extern art_tree dns_conf_domain_rule;

+ 4 - 0
src/dns_server.c

@@ -6720,6 +6720,10 @@ static int _dns_server_audit_init(void)
 		tlog_set_permission(dns_audit, dns_conf_audit_file_mode, dns_conf_audit_file_mode);
 	}
 
+	if (dns_conf_audit_console != 0) {
+		tlog_logscreen(dns_audit, 1);
+	}
+
 	return 0;
 }
 

+ 4 - 1
src/smartdns.c

@@ -441,7 +441,10 @@ static int _smartdns_init(void)
 		goto errout;
 	}
 
-	tlog_setlogscreen(verbose_screen);
+	if (verbose_screen != 0 || dns_conf_log_console != 0) {
+		tlog_setlogscreen(1);
+	}
+
 	tlog_setlevel(dns_conf_log_level);
 	if (dns_conf_log_file_mode > 0) {
 		tlog_set_permission(tlog_get_root(), dns_conf_log_file_mode, dns_conf_log_file_mode);