Index: /branches/release-35/lib/MT/TaskMgr.pm
===================================================================
--- /branches/release-35/lib/MT/TaskMgr.pm (revision 1174)
+++ /branches/release-35/lib/MT/TaskMgr.pm (revision 1912)
@@ -103,5 +103,7 @@
                     category => 'tasks',
                     level => MT::Log::ERROR(),
-                    message => $app->translate("Error during task '[_1]': [_2]", $name, $err)
+                    message => $app->translate("Error during task '[_1]': [_2]", $name, $err),
+                    metadata => MT::Util::log_time() . ' '
+                        . $app->translate("Error during task '[_1]': [_2]", $name, $err)
                 });
             } else {
@@ -119,5 +121,5 @@
                 level => MT::Log::INFO(),
                 message => $app->translate("Scheduled Tasks Update"),
-                metadata => $app->translate("The following tasks were run:") . ' ' .
+                metadata => MT::Util::log_time() . ' ' . $app->translate("The following tasks were run:") . ' ' .
                     join ", ", @completed
             });
Index: /branches/release-35/lib/MT/Util.pm
===================================================================
--- /branches/release-35/lib/MT/Util.pm (revision 1873)
+++ /branches/release-35/lib/MT/Util.pm (revision 1912)
@@ -26,5 +26,5 @@
                  epoch2ts ts2epoch escape_unicode unescape_unicode
                  sax_parser trim ltrim rtrim asset_cleanup caturl multi_iter
-                 weaken );
+                 weaken log_time );
 
 {
@@ -1937,4 +1937,14 @@
 }
 
+sub log_time {
+    return format_ts(
+        '[%Y-%m-%d %H:%M:%S]',
+        epoch2ts(undef, time),
+        undef,
+        MT->config->DefaultLanguage,
+        0
+    );
+}
+
 ## FIXME
 # This method is to supplement CGI.pm's lack of read method.
@@ -2125,4 +2135,8 @@
 Content will be sanitized based on pre-defined rules.
 
+=head2 log_time
+
+Returns the current server time in log specific format.
+
 =head1 AUTHOR & COPYRIGHTS
 
Index: /branches/release-35/lib/MT/Worker/Publish.pm
===================================================================
--- /branches/release-35/lib/MT/Worker/Publish.pm (revision 1543)
+++ /branches/release-35/lib/MT/Worker/Publish.pm (revision 1912)
@@ -14,4 +14,5 @@
 use MT::FileInfo;
 use MT::PublishOption;
+use MT::Util qw( log_time );
 
 sub keep_exit_status_for { 1 }
@@ -91,4 +92,12 @@
                 $job->completed();
             }
+            $mt->log({
+                ($fi->blog_id ? ( blog_id => $fi->blog_id ) : () ),
+                message => $mt->translate('Background Publishing Done'),
+                metadata => log_time() . ' '
+                    . $mt->translate('Published: [_1]', $fi->file_path),
+                category => "publish",
+                level => MT::Log::INFO(),
+            });
             $rebuilt++;
         } else {
@@ -101,5 +110,5 @@
                 ($fi->blog_id ? ( blog_id => $fi->blog_id ) : () ),
                 message => $errmsg,
-                metadata => $errmsg . ":\n" . $error,
+                metadata => log_time() . ' ' . $errmsg . ":\n" . $error,
                 category => "publish",
                 level => MT::Log::ERROR(),
Index: /branches/release-35/lib/MT/Worker/Sync.pm
===================================================================
--- /branches/release-35/lib/MT/Worker/Sync.pm (revision 1174)
+++ /branches/release-35/lib/MT/Worker/Sync.pm (revision 1912)
@@ -12,4 +12,5 @@
 use TheSchwartz::Job;
 use MT::FileInfo;
+use MT::Util qw( log_time );
 
 sub work {
@@ -88,5 +89,5 @@
                 $mt->log({
                     message => $errmsg,
-                    metadata => $errmsg . "\nFiles affected:\n\t" . join("\n\t", @files),
+                    metadata => log_time() . ' ' . $errmsg . "\nFiles affected:\n\t" . join("\n\t", @files),
                     category => "sync",
                     level => MT::Log::ERROR(),
@@ -96,5 +97,13 @@
                 return;
             } else {
-                MT::TheSchwartz->debug(sprintf("done! (%0.02fs)", tv_interval($start)));
+                my $elapsed = sprintf("done! (%0.02fs)", tv_interval($start));
+                $mt->log({
+                    message => $mt->translate('Synchrnizing Files Done'),
+                    metadata => log_time() . ' '
+                        . $mt->translate('Done syncing files to [_1] ([_2])', $target, $elapsed),
+                    category => "sync",
+                    level => MT::Log::INFO(),
+                });
+                MT::TheSchwartz->debug($elapsed);
             }
         }
