فهرست منبع

Use logger instead of prints

shin- 12 سال پیش
والد
کامیت
c379f99b00
1فایلهای تغییر یافته به همراه15 افزوده شده و 7 حذف شده
  1. 15 7
      brew/brew.py

+ 15 - 7
brew/brew.py

@@ -1,4 +1,5 @@
 import os
+import logging
 
 import docker
 
@@ -7,19 +8,26 @@ import git
 DEFAULT_REPOSITORY = 'git://github.com/dotcloud/docker'
 DEFAULT_BRANCH = 'library'
 
+logger = logging.getLogger(__name__)
+logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
+                    level='DEBUG')
+
 
 def fetch_buildlist(repository=None, branch=None):
     if repository is None:
         repository = DEFAULT_REPOSITORY
     if branch is None:
         branch = DEFAULT_BRANCH
+
+    logger.info('Cloning docker repo from {0}, branch: {1}'.format(
+        repository, branch))
     #FIXME: set destination folder and only pull latest changes instead of
     # cloning the whole repo everytime
     dst_folder = git.clone_branch(repository, branch)
     for buildfile in os.listdir(os.path.join(dst_folder, 'library')):
         f = open(os.path.join(dst_folder, 'library', buildfile))
         for line in f:
-            print buildfile, '--->', line
+            logger.debug('{0} ---> {1}'.format(buildfile, line))
             args = line.split()
             try:
                 #FIXME: delegate to workers instead?
@@ -36,21 +44,21 @@ def fetch_buildlist(repository=None, branch=None):
                             'please refer to the docs')
                     start_build(args[1], ref, buildfile, args[0])
             except Exception as e:
-                print '!!! ', str(e).strip()
+                logger.exception(e)
         f.close()
 
 
 def start_build(repository, ref, docker_repo, docker_tag=None):
-    print '---> Cloning {0} (ref: {1})'.format(repository, ref)
+    logger.info('Cloning {0} (ref: {1})'.format(repository, ref))
     dst_folder = git.clone(repository, ref)
     if not 'Dockerfile' in os.listdir(dst_folder):
         raise RuntimeError('Dockerfile not found in cloned repository')
     f = open(os.path.join(dst_folder, 'Dockerfile'))
-    print '---> Building using dockerfile...'
+    logger.info('Building using dockerfile...')
     #img_id, logs = docker.build_context(dst_folder)
-    print '--> Committing to library/{0}:{1}'.format(docker_repo,
-        docker_tag or 'latest')
+    logger.info('Committing to library/{0}:{1}'.format(docker_repo,
+        docker_tag or 'latest'))
     #docker.commit(img_id, 'library/' + docker_repo, docker_tag)
-    print '---> Pushing result to the main registry'
+    logger.info('Pushing result to the main registry')
     #docker.push('library/' + docker_repo)
     f.close()