Make µs support conditional and fix style
diff --git a/system/core/Log.php b/system/core/Log.php
index ab8ae28..ccaaf4b 100644
--- a/system/core/Log.php
+++ b/system/core/Log.php
@@ -198,12 +198,20 @@
 			return FALSE;
 		}
 
-		// Instantiate DateTime with microseconds accuracy to allow proper use of "u" character in date format
-		$t = microtime(true);
-		$micro = sprintf("%06d",($t - floor($t)) * 1000000);
-		$date = new DateTime(date('Y-m-d H:i:s.'.$micro, $t));
+		// Instantiating DateTime with microseconds appended to initial date is needed for proper support of this format
+		if (strpos($this->_date_fmt, 'u') !== FALSE)
+		{
+			$microtime_full = microtime(TRUE);
+			$microtime_short = sprintf("%06d", ($microtime_full - floor($microtime_full)) * 1000000);
+			$date = new DateTime(date('Y-m-d H:i:s.'.$microtime_short, $microtime_full));
+			$date = $date->format($this->_date_fmt);
+		}
+		else
+		{
+			$date = date($this->_date_fmt);
+		}
 
-		$message .= $level.' - '.$date->format($this->_date_fmt).' --> '.$msg."\n";
+		$message .= $level.' - '.$date.' --> '.$msg."\n";
 
 		flock($fp, LOCK_EX);