Haigang Gong

44 papers A* 3B 1C 3Journal 29Unranked 8
YearRankTypeTitle / Venue / Authors
2023 J jnl
Int. J. Comput. Intell. Syst.
Minghui Liu, Meiyi Yang, Jiali Deng, Xuan Cheng, Tianshu Xie, Pan Deng, Haigang Gong, Ming Liu, Xiaomin Wang
2023 J jnl
Intell. Data Anal.
Jiali Deng, Haigang Gong, Xiaomin Wang, Minghui Liu, Tianshu Xie, Xuan Cheng, Ming Liu, Wanqing Huang
2023 J jnl
IEEE Access
Tianshu Xie, Yuhang Yang, Zilin Ding, Xuan Cheng, Xiaomin Wang, Haigang Gong, Ming Liu
2022 J jnl
Neurocomputing
Xili Dai, Haigang Gong, Shuai Wu, Xiaojun Yuan, Yi Ma
2022 J jnl
IEEE J. Biomed. Health Informatics
Siying Chen, Minghui Liu, Pan Deng, Jiali Deng, Yi Yuan, Xuan Cheng, Tianshu Xie, Libo Xie, Wei Zhang, Haigang Gong, Xiaomin Wang, Lifeng Xu, Hong Pu, Ming Liu
2021 J jnl
IEEE Internet Things J.
Meiyi Yang, Nianbo Liu, Lin Zuo, Yong Feng, Minghui Liu, Haigang Gong, Ming Liu
2021 J jnl
CoRR
Xili Dai, Xiaojun Yuan, Haigang Gong, Yi Ma
2020 conf
ECCV (12)
Xiaobing Zhang, Shijian Lu, Haigang Gong, Zhipeng Luo, Ming Liu
2020 J jnl
IEEE Access
Meiyi Yang, Nianbo Liu, Weize Wang, Haigang Gong, Ming Liu
2020 J jnl
CCF Trans. Pervasive Comput. Interact.
Meiyi Yang, Nianbo Liu, Lin Zuo, Haigang Gong, Minghui Liu, Ming Liu
2020 conf
ICONIP (4)
Xiaobing Zhang, Shijian Lu, Haigang Gong, Minghui Liu, Ming Liu
2019 conf
MSN
Jiqing Gu, Chao Song, Wenjun Jiang, Lei Shi, Haigang Gong, Ming Liu
2019 A* conf
AAAI
Xiaobing Zhang, Haigang Gong, Xili Dai, Fan Yang, Nianbo Liu, Ming Liu
2018 J jnl
Mob. Inf. Syst.
Bang Liu, Xili Dai, Haigang Gong, Zihao Guo, Nianbo Liu, Xiaomin Wang, Ming Liu
2017 J jnl
Mob. Inf. Syst.
Haigang Gong, Lingfei Yu
2017 J jnl
Int. J. Ad Hoc Ubiquitous Comput.
Chunmei Ma, Haigang Gong, Nianbo Liu, Chao Song, Ming Liu
2016 J jnl
EURASIP J. Wirel. Commun. Netw.
Jieyan Liu, Lubomir Bic, Haigang Gong, Siyu Zhan
2015 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Dajin Wang, Shigeng Zhang, Nianbo Liu
2014 conf
ICUFN
Xue Zhang, Haigang Gong, Ming Liu
2014 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Lingfei Yu, Xue Zhang
2013 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Xiaomin Wang
2013 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Mei Yang, Wenzhong Li, Nianbo Liu
2013 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Nianbo Liu, Lingfei Yu, Chao Song
2013 A* conf
SIGCOMM
Jianxiong Yin, Peng Sun, Yonggang Wen, Haigang Gong, Ming Liu, Xuelong Li, Haipeng You, Jinqi Gao, Cynthia Lin
2013 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Lingfei Yu
2012 conf
MSN
Hui Zhao, Haigang Gong, Ke Liu, Ming Liu, Yonggang Wen
2012 J jnl
Int. J. Distributed Sens. Networks
Xing Zhang, Haigang Gong, Zongyi Xu, Jinchuan Tang, Bang Liu
2012 J jnl
Int. J. Distributed Sens. Networks
Haigang Gong, Lingfei Yu, Ke Liu, Fulong Xu, Xiaomin Wang
2012 conf
MSN
Xing Zhang, Haigang Gong, Kexiong Zeng, Jinchuan Tang, Nianbo Liu, Zongyi Xu, Bang Liu
2012 conf
MSN
Chao Song, Jie Wu, Ming Liu, Haigang Gong, Bojun Gou
2012 J jnl
Int. J. Distributed Sens. Networks
Tao Zhou, Hongbin Xu, Ming Liu, Nianbo Liu, Haigang Gong
2011 J jnl
Sensors
Yong Feng, Haigang Gong, Mingyu Fan, Ming Liu, Xiaomin Wang
2011 J jnl
Sensors
Yimin Yu, Chao Song, Ming Liu, Haigang Gong
2011 J jnl
Sensors
Qiaoqin Li, Haigang Gong, Ming Liu, Mei Yang, Jun Zheng
2011 A* conf
INFOCOM
Ming Liu, Haigang Gong, Yonggang Wen, Guihai Chen, Jiannong Cao
2010 J jnl
EURASIP J. Wirel. Commun. Netw.
Haigang Gong, Ming Liu, Guihai Chen, Xue Zhang
2010 J jnl
Sensors
Yong Feng, Ming Liu, Xiaomin Wang, Haigang Gong
2010 C conf
WOWMOM
Xue Zhang, Ming Liu, Haigang Gong, Sanglu Lu, Jie Wu
2010 J jnl
Inf. Process. Lett.
Lingfei Yu, Kun She, Haigang Gong, Changyuan Yu
2010 B conf
MobiHoc
Xue Zhang, Haigang Gong, Ming Liu, Sanglu Lu, Jie Wu
2009 J jnl
Sensors
Nianbo Liu, Ming Liu, Jinqi Zhu, Haigang Gong
2009 conf
FCST
Haigang Gong, Xue Zhang, Lingfei Yu, Xiaomin Wang, Fasheng Yi
2009 C conf
BROADNETS
Yan Wang, Jiazhi Zeng, Ming Liu, Yue Wu, Haigang Gong
2008 C conf
QSHINE
Chao Song, Jiannong Cao, Ming Liu, Yuan Zheng, Haigang Gong, Guihai Chen
redb/logging_utils.py
← Index redb/logging_utils.py python
"""
Logging utilities and shared enums for REDB.

Contains the ImportResult enum, log formatters, and logger setup functions
used across the ingestor pipeline.
"""
import logging
from logging.handlers import QueueHandler
import os
from enum import Enum


class ImportResult(Enum):
    CORRECTLY = 0
    PARTIALLY = 1
    FAILED = 2
    PENDING = 3
    SKIPPED = 4


class FileNameFormatter(logging.Formatter):
    def format(self, record):
        record.filenameinfo = getattr(record, "filenameinfo", "unknown")
        return super().format(record)


def setup_logger(log_queue, filename):
    logger = logging.getLogger(filename)
    if not logger.handlers:
        if os.getenv("SERVER_ENV") == "prod":
            logger.setLevel(logging.INFO)
        else:
            logger.setLevel(logging.DEBUG)
        handler = QueueHandler(log_queue)
        logger.addHandler(handler)
        logger.propagate = False  # Prevent propagation to parent loggers
    return logger


def logger_thread(log_queue, log_file):
    handler = logging.FileHandler(log_file)
    formatter = FileNameFormatter(
        "%(asctime)s - %(filenameinfo)s - %(levelname)s - %(message)s"
    )
    handler.setFormatter(formatter)

    while True:
        try:
            record = log_queue.get()
            if record is None:
                break
            # Format and write the log record
            message = formatter.format(record)
            handler.stream.write(message + "\n")
            handler.stream.flush()
        except Exception:
            import traceback
            import sys

            print("[ERR] Error in logger thread:", file=sys.stderr)
            traceback.print_exc(file=sys.stderr)


def setup_direct_logger(log_file, filename, pid=None):
    """Setup a logger that writes directly to the log file without using a queue."""
    # Create a unique logger name using the process ID
    logger_name = f"{filename}_{pid}" if pid else filename
    logger = logging.getLogger(logger_name)

    if not logger.handlers:
        handler = logging.FileHandler(log_file)
        formatter = logging.Formatter("%(asctime)s - %(filenameinfo)s - %(levelname)s - %(message)s")
        handler.setFormatter(formatter)
        logger.addHandler(handler)

        if os.getenv("SERVER_ENV") == "prod":
            logger.setLevel(logging.INFO)
        else:
            logger.setLevel(logging.DEBUG)

    # Add filename info to the logger's extra info
    extra = {"filenameinfo": filename}
    logger = logging.LoggerAdapter(logger, extra)

    return logger