[#8451] log blog options in audit log
diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py
index 40d474f..59fe8e8 100644
--- a/ForgeBlog/forgeblog/main.py
+++ b/ForgeBlog/forgeblog/main.py
@@ -535,10 +535,20 @@
     @expose()
     @require_post()
     def set_options(self, show_discussion=False, allow_email_posting=False):
-        self.app.config.options[
-            'show_discussion'] = show_discussion and True or False
-        self.app.config.options[
-            'AllowEmailPosting'] = allow_email_posting and True or False
+        mount_point = self.app.config.options['mount_point']
+
+        if self.app.config.options.get('show_discussion') != bool(show_discussion):
+            M.AuditLog.log('{}: set option "{}" {} => {}'.format(
+                mount_point, "show_discussion", self.app.config.options.get('show_discussion'),
+                bool(show_discussion)))
+            self.app.config.options['show_discussion'] = bool(show_discussion)
+
+        if self.app.config.options.get('AllowEmailPosting') != bool(allow_email_posting):
+            M.AuditLog.log('{}: set option "{}" {} => {}'.format(
+                mount_point, "AllowEmailPosting", self.app.config.options.get('AllowEmailPosting'),
+                bool(allow_email_posting)))
+            self.app.config.options['AllowEmailPosting'] = bool(allow_email_posting)
+
         flash('Blog options updated')
         redirect(six.ensure_text(request.referer or '/'))