def __init__(self, vars, decon, reml, loglevel=zlogger.logging.DEBUG, interp="lin", dry_run=False): # todo: check vars has subject, func... self.__dict__.update(**vars) self.vars = vars # create output if dry_run is True: log_fname = None else: log_fname = op.join(self.outputdir, "logs", "glm_subject.log") os.mkdir(self.outputdir) os.mkdir(op.join(self.outputdir, "logs")) # create logger self.slog = zlogger.getLogger("glm_%s" % self.subject, level=loglevel, fname=log_fname) # save args self.tdecon = deepcopy(decon) # template self.treml = deepcopy(reml) # template self.interp = interp self.dry_run = dry_run return
def __init__(self, subject_list, config_file, interp="lin", cores=1, dry_run=False, verbosity=0, force=False): # cores os.putenv("OMP_NUM_THREADS", str(cores)) # config self.opts = yaml.load(config_file) # args self.subject_list = subject_list self.interp = interp self.dry_run = dry_run self.force = force # logger # note: there is one root logger self.log # and one subject specific logger self.slog if verbosity == 0: self.loglevel = zlogger.logging.IMPORTANT elif verbosity == 1: self.loglevel = zlogger.logging.COMMAND_INFO else: self.loglevel = zlogger.logging.DEBUG self.log = zlogger.getLogger("glm_root", level=self.loglevel) # setup inputs/outputs and check basics self._setup_and_check()
def __init__(self, verbosity, outdir, template_context={}, overwrite=False): super(Reporter, self).__init__() outdir = op.abspath(op.expanduser(outdir)) if op.isdir(outdir): if overwrite: shutil.rmtree(outdir) else: raise ReporterException("Output directory already exists") os.mkdir(outdir) self.outdir = outdir os.mkdir(op.join(outdir, "logs")) if self._logname is None: raise Exception("You must set the _logname in the class") logfile = op.join(op.join(outdir, "logs"), self._logname + ".log") if verbosity == 0: self.loglevel = zlogger.logging.IMPORTANT elif verbosity == 1: self.loglevel = zlogger.logging.COMMAND_INFO else: self.loglevel = zlogger.logging.DEBUG self.log = zlogger.getLogger(self._logname, level=self.loglevel, fname=logfile, allow_exceptions=True) shutil.copytree(op.join(os.getenv("NISCRIPTS"), "etc", "css"), op.join(outdir, "css")) shutil.copytree(op.join(os.getenv("NISCRIPTS"), "etc", "js"), op.join(outdir, "js")) shutil.copytree(op.join(os.getenv("NISCRIPTS"), "etc", "images"), op.join(outdir, "images")) self._setTemplateContext(template_context) self.env = Environment(loader=PackageLoader('report', 'templates')) self.report = None return
def create_logger(name, level, fname): log = zlogger.getLogger(name, level, fname=fname, allow_exceptions=True) return log