Commit aaf98bf9 authored by Fang Yuedong's avatar Fang Yuedong
Browse files

add option to specify logger name

parent 23ec8465
Loading
Loading
Loading
Loading
+31 −24
Original line number Diff line number Diff line
@@ -3,8 +3,9 @@ import logging
import ObservationSim.Config._util as _util
from ObservationSim.Config.Header import generatePrimaryHeader


class ChipOutput(object):
    def __init__(self, config, chip, filt, pointing):
    def __init__(self, config, chip, filt, pointing, logger_filename=None):
        self.config = config
        self.chip = chip
        self.filt = filt
@@ -29,18 +30,22 @@ class ChipOutput(object):
            run_counter=self.config["run_counter"],
            chip_name=self.chip_label)

        obs_id = _util.get_obs_id(img_type=self.pointing_type, project_cycle=config["project_cycle"], run_counter=config["run_counter"], pointing_id=pointing.obs_id, pointing_type_code = pointing.pointing_type_code)
        obs_id = _util.get_obs_id(img_type=self.pointing_type, project_cycle=config["project_cycle"], run_counter=config[
                                  "run_counter"], pointing_id=pointing.obs_id, pointing_type_code=pointing.pointing_type_code)

        self.subdir = pointing.output_dir
        self.cat_name = self.h_prim['FILENAME'] + '.cat'
        if logger_filename is None:
            logger_filename = self.h_prim['FILENAME'] + '.log'

        self.logger = logging.getLogger()
        fh = logging.FileHandler(os.path.join(self.subdir, logger_filename), mode='w+', encoding='utf-8')
        fh = logging.FileHandler(os.path.join(
            self.subdir, logger_filename), mode='w+', encoding='utf-8')
        fh.setLevel(logging.DEBUG)
        self.logger.setLevel(logging.DEBUG)
        logging.getLogger('numba').setLevel(logging.WARNING)
        formatter = logging.Formatter('%(asctime)s - %(msecs)d - %(levelname)-8s - [%(filename)s:%(lineno)d] - %(message)s')
        formatter = logging.Formatter(
            '%(asctime)s - %(msecs)d - %(levelname)-8s - [%(filename)s:%(lineno)d] - %(message)s')
        fh.setFormatter(formatter)
        self.logger.addHandler(fh)

@@ -67,7 +72,8 @@ class ChipOutput(object):
    def create_output_file(self):
        if self.pointing_type == 'SCI':
            self.cat = open(os.path.join(self.subdir, self.cat_name), "w")
            self.logger.info("Creating catalog file %s ...\n"%(os.path.join(self.subdir, self.cat_name)))
            self.logger.info("Creating catalog file %s ...\n" %
                             (os.path.join(self.subdir, self.cat_name)))
            if not self.hdr.endswith("\n"):
                self.hdr += "\n"
            self.cat.write(self.hdr)
@@ -77,7 +83,8 @@ class ChipOutput(object):
        yimg = obj.real_pos.y + 1.0

        line = self.fmt % (
            obj.id, int(self.chip_label), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type, 
            obj.id, int(self.chip_label), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(
                self.filt), obj.type,
            obj.pmra, obj.pmdec, obj.rv, obj.parallax)
        line += obj.additional_output_str
        if not line.endswith("\n"):