-import os.path
 # -*- encoding: utf-8 -*-
+import os.path
+import logging
 
 __author__= "Łukasz Rekucki"
 __date__ = "$2009-09-25 15:49:50$"
 #
 import settings
 
+
+log = logging.getLogger('platforma.api')
+
+
 #
 # Document List Handlers
 #
         for part, docid in parts:
             # this way, we won't display broken links
             if not documents.has_key(part):
-                print "NOT FOUND:", part
+                log.info("NOT FOUND: %s", part)
                 continue
 
             parent = documents[docid]
         try:
             lock = lib.lock()            
             try:
-                print "DOCID", docid                
+                log.info("DOCID %s", docid)
                 doc = lib.document_create(docid)
                 # document created, but no content yet
 
     @hglibrary
     def read(self, request, docid, lib):
         """Read document's meta data"""       
+        log.info("Read %s", docid)
         try:
             doc = lib.document(docid)
             udoc = doc.take(request.user.username)
             dirpath = os.path.join(settings.MEDIA_ROOT, assoc.subpath)
 
             if not os.path.isdir(dirpath):
-                print u"[WARNING]: missing gallery %s" % dirpath
+                log.info(u"[WARNING]: missing gallery %s", dirpath)
                 continue
 
             gallery = {'name': assoc.name, 'pages': []}
             
             for file in sorted(os.listdir(dirpath), key=natural_order()):
-                print file
+                log.info(file)
                 name, ext = os.path.splitext(os.path.basename(file))
 
                 if ext.lower() not in ['.png', '.jpeg', '.jpg']:
-                    print "Ignoring:", name, ext
+                    log.info("Ignoring: %s %s", name, ext)
                     continue
 
                 url = settings.MEDIA_URL + assoc.subpath + u'/' + file.decode('utf-8');
             includes = [m.groupdict()['link'] for m in (re.finditer(\
                 XINCLUDE_REGEXP, data, flags=re.UNICODE) or []) ]
 
-            print "INCLUDES: ", includes
+            log.info("INCLUDES: %s", includes)
 
             # TODO: provide useful routines to make this simpler
             def xml_update_action(lib, resolve):
 
     ],
 }
 
+# Python logging settings
+import logging
+
+log = logging.getLogger('platforma')
+log.setLevel(logging.DEBUG)
+ch = logging.StreamHandler()
+ch.setLevel(logging.DEBUG)
+formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+ch.setFormatter(formatter)
+log.addHandler(ch)
+
+
+# Import localsettings file, which may override settings defined here
 try:
     from localsettings import *
 except ImportError: