# -*- coding: latin-1 -*-

import os

if os.environ.has_key('PYTHONDEBUG'):
	PYTHONDEBUG = os.environ['PYTHONDEBUG']
elif os.environ.has_key('Z_DEBUG_MODE'):
	PYTHONDEBUG = os.environ['Z_DEBUG_MODE']
else:
	PYTHONDEBUG = 0

from cStringIO import StringIO
import sys
import os
import traceback
from zLOG import LOG

class ZLog:
	"""
	Subclassed by Object class.
	"""
	id = ''
	title = ''
	debug = PYTHONDEBUG

	def __init__(self, id='', title=''):
		"ZLog init"
		self.id = id
		self.title = title
		
	def getId(self):
		return self.id
		
	def message(self, message):
		if self.debug:
			LOG('PTLog:MESSAGE', 0, '', '%s\n' % message)

	def notice(self, message):
		LOG('PTLog:NOTICE', 0, '', '%s\n' % message)
		
	def warning(self, message):
		LOG('PTLog:WARNING', 0, '', '%s\n' % message)

	def error(self, message):
		LOG('PTLog:ERROR', 0, '', '%s\n' % message)
		
	def get_traceback(self):
		fp = StringIO()
		traceback.print_exc(file=fp)
		return fp.getvalue()	

	def _get_code_log(self):
		"for codecrea, codemodis, ..."
		return "zope -> %s(%s) -> %s(%s)" % (
			os.path.basename(sys._getframe(3).f_code.co_filename), sys._getframe(3).f_code.co_name,
			os.path.basename(sys._getframe(2).f_code.co_filename), sys._getframe(2).f_code.co_name )


