I think the question is; why don't we log to syslog by default. I think historically cloud-init is run in many OSes which may or maynot have syslog capabilities so it defaults to writing it's own log directly.
At least for local testing, it's easy enough to update /etc/cloud/cloud.d/05_logging.cfg
root@e1:~# diff -u /etc/cloud/cloud.cfg.d/05_logging.cfg.orig /etc/cloud/cloud.cfg.d/05_logging.cfg
--- /etc/cloud/cloud.cfg.d/05_logging.cfg.orig 2019-07-26 14:14:23.950183322 +0000
+++ /etc/cloud/cloud.cfg.d/05_logging.cfg 2019-07-26 14:14:30.110221163 +0000
@@ -57,11 +57,11 @@
# that defines the configuration.
#
# If you want logs to go to syslog, uncomment the following line.
-# - [ *log_base, *log_syslog ]
+ - [ *log_base, *log_syslog ]
#
# The default behavior is to just log to a file.
# This mechanism that does not depend on a system service to operate.
- - [ *log_base, *log_file ]
+# - [ *log_base, *log_file ]
# A file path can also be used.
# - /etc/log.conf
I think the question is; why don't we log to syslog by default. I think historically cloud-init is run in many OSes which may or maynot have syslog capabilities so it defaults to writing it's own log directly.
At least for local testing, it's easy enough to update /etc/cloud/ cloud.d/ 05_logging. cfg
root@e1:~# diff -u /etc/cloud/ cloud.cfg. d/05_logging. cfg.orig /etc/cloud/ cloud.cfg. d/05_logging. cfg cloud.cfg. d/05_logging. cfg.orig 2019-07-26 14:14:23.950183322 +0000 cloud.cfg. d/05_logging. cfg 2019-07-26 14:14:30.110221163 +0000
--- /etc/cloud/
+++ /etc/cloud/
@@ -57,11 +57,11 @@
# that defines the configuration.
#
# If you want logs to go to syslog, uncomment the following line.
-# - [ *log_base, *log_syslog ]
+ - [ *log_base, *log_syslog ]
#
# The default behavior is to just log to a file.
# This mechanism that does not depend on a system service to operate.
- - [ *log_base, *log_file ]
+# - [ *log_base, *log_file ]
# A file path can also be used.
# - /etc/log.conf