diff --git a/src/config.py b/src/config.py
--- a/src/config.py
+++ b/src/config.py
@@ -3,11 +3,13 @@ import logging as log
 from logging.handlers import TimedRotatingFileHandler
 
 
-log.basicConfig(
-	level=log.INFO,format="%(asctime)s %(levelname)s: %(message)s",datefmt="%Y-%m-%d %H:%M:%S"
-)
 logger=log.getLogger()
-logger.addHandler(TimedRotatingFileHandler("/var/log/morevna.log",when="midnight",backupCount=9))
+logger.setLevel(log.INFO)
+formatter=log.Formatter("%(asctime)s %(levelname)s: %(message)s",datefmt="%Y-%m-%d %H:%M:%S")
+handler=TimedRotatingFileHandler("/var/log/morevna/mor.log",when="midnight",backupCount=9)
+handler.setFormatter(formatter)
+logger.addHandler(handler)
+
 
 version=0
 
diff --git a/src/morevna.py b/src/morevna.py
--- a/src/morevna.py
+++ b/src/morevna.py
@@ -1,5 +1,6 @@
 import sys
 import os.path
+import logging as log
 from argparse import ArgumentParser
 
 from util import spawnDaemon
@@ -41,7 +42,10 @@ def serve(args):
 	if args.port: conf.port=args.port
 
 	s=Server(args.datafile,args.tree)
-	spawnDaemon(s.serve)
+	try:
+		spawnDaemon(s.serve)
+	except Exception as e:
+		log.exception("exception: %s",e)
 
 
 parser=ArgumentParser()
diff --git a/src/server.py b/src/server.py
--- a/src/server.py
+++ b/src/server.py
@@ -51,7 +51,13 @@ class Server:
 		self._ss.listen(1)
 
 		self._lastIndex=-1
-		self._dataFile=None
+		self._dataFileHandle=None
+
+	@property
+	def _dataFile(self):
+		if not self._dataFileHandle:
+			self._dataFileHandle=open(self._filename, mode="rb+")
+		return self._dataFileHandle
 
 	def serve(self):
 		while True:
@@ -113,8 +119,6 @@ class Server:
 	def _receiveData(self,jsonData,binData):
 		log.info("received data block #{0}: {1}...{2}".format(jsonData["index"],binData[:5],binData[-5:]))
 
-		if not self._dataFile:
-			self._dataFile=open(self._filename, mode="rb+")
 		i=jsonData["index"]
 		if self._lastIndex+1!=i:
 			self._dataFile.seek(i*self.BLOCK_SIZE)
@@ -127,8 +131,8 @@ class Server:
 
 	def _finalize(self):
 		log.info("closing session...")
-		if self._dataFile:
-			self._dataFile.close()
+		self._dataFile.close()
+		self._dataFileHandle=None
 		if self._treeFile:
 			log.info("updating hash tree...")
 			for (k,v) in self._newLeaves.items():