import hou
import traceback
from PySide2 import QtCore, QtUiTools, QtWidgets

class logging(QtCore.QObject):
    
    output_logged = QtCore.Signal(str)
    
    def __init__(self, ffmpeg_path=None, log_to_houdini=True):
        super(logging, self).__init__()
        
        self.set_houdini_logging_enabled(log_to_houdini)
        
    def set_houdini_logging_enabled(self, enabled):
        self._log_to_houdini = enabled
        
    def log_error(self, text):
        if self._log_to_houdini:
            hou.ui.displayMessage(text, severity=hou.severityType.Error)
        self.output_logged.emit(text)
        
    def log_warning(self, text):
        if self._log_to_houdini:
            hou.ui.displayMessage(text, severity=hou.severityType.Warning)
        self.output_logged.emit(text)
        
    def log_output(self, text):
        if self._log_to_houdini:
            hou.ui.displayMessage(text, severity=hou.severityType.Message)
        self.output_logged.emit(text)
        
playblast = logging()
playblast.log_error("error")
playblast.log_warning("warning")
playblast.log_output("output")