diff piecrust/main.py @ 39:2f717f961996

Better error reporting and cache validation. Fix the processor pipeline in the preview server. Move the `pages` route to first position.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 21 Aug 2014 22:28:22 -0700
parents 091f99bfbe44
children a62452ab5080
line wrap: on
line diff
--- a/piecrust/main.py	Thu Aug 21 10:56:17 2014 -0700
+++ b/piecrust/main.py	Thu Aug 21 22:28:22 2014 -0700
@@ -5,7 +5,7 @@
 import argparse
 import colorama
 from piecrust.app import PieCrust, PieCrustConfiguration, APP_VERSION
-from piecrust.chefutil import format_timed
+from piecrust.chefutil import format_timed, log_friendly_exception
 from piecrust.environment import StandardEnvironment
 from piecrust.pathutil import SiteNotFoundError, find_app_root
 from piecrust.plugins.base import PluginLoader
@@ -57,7 +57,8 @@
         if pre_args.debug:
             logger.exception(ex)
         else:
-            logger.error(str(ex))
+            log_friendly_exception(logger, ex)
+        return 1
 
 
 class PreParsedChefArgs(object):
@@ -122,7 +123,7 @@
         log_handler.setFormatter(ColoredFormatter("%(message)s"))
     root_logger.addHandler(log_handler)
     if res.log_file:
-        root_logger.addHandler(logging.FileHandler(res.log_file))
+        root_logger.addHandler(logging.FileHandler(res.log_file, mode='w'))
 
     return res