Kaiming Nie

62 papers Journal 62
YearRankTypeTitle / Venue / Authors
2025 J jnl
IEEE J. Solid State Circuits
Quanmin Chen, Kaiming Nie, Jing Gao, Xiaoyu Zhang, Jiangtao Xu
2025 J jnl
Microelectron. J.
Qinglong Lin, Yingying Jiao, Kaiming Nie, Jiangtao Xu
2025 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Wanbin Zha, Jiangtao Xu, Kaiming Nie, Zhiyuan Gao
2025 J jnl
Microelectron. J.
Boyang Zheng, Xiaopei Shi, Kaiming Nie, Jiangtao Xu
2025 J jnl
Int. J. Circuit Theory Appl.
Kaiming Nie, Zhao Yang, Xiaopei Shi, Yanghao He, Jiangtao Xu, Jing Gao
2025 J jnl
Microelectron. J.
Huazhen Wang, Kaiming Nie, Jiangtao Xu
2025 J jnl
Int. J. Circuit Theory Appl.
Rui Yang, Xiuyu Wang, Changju Liu, Biao Ma, Kaiming Nie, Jiangtao Xu
2025 J jnl
Sci. China Inf. Sci.
Wanbin Zha, Jiangtao Xu, Jinghua Ao, Kaiming Nie, Zhiyuan Gao
2024 J jnl
Microelectron. J.
Shuanghan Zhao, Jing Gao, Quanmin Chen, Kaiming Nie, Jiangtao Xu
2024 J jnl
Int. J. Circuit Theory Appl.
Hao Duan, Kaiming Nie, Jiangtao Xu
2024 J jnl
Sci. China Inf. Sci.
Haoran Wu, Kaiming Nie, Jiangtao Xu, Qinglong Lin, Yingying Jiao
2024 J jnl
Microelectron. J.
Yanghao He, Xiaopei Shi, Kaiming Nie, Jiangtao Xu
2024 J jnl
Int. J. Circuit Theory Appl.
Ziyang Zhang, Kaiming Nie, Dongxing Fang, Jiangtao Xu
2024 J jnl
Microelectron. J.
Haojie Zheng, Kaiming Nie, Wanbin Zha, Jiangtao Xu
2024 J jnl
Microelectron. J.
Xiaolin Shi, Shaomeng Li, Kaiming Nie
2024 J jnl
Microelectron. J.
Xiduo Zou, Jing Gao, Kaiming Nie, Zaifeng Shi, Jiangtao Xu
2024 J jnl
Microelectron. J.
Changju Liu, Zhijun Wu, Kaiming Nie, Yiqiang Li, Jiangtao Xu, Xiuyu Wang, Ying Wang, Rui Gong, Jiaqi Lu
2024 J jnl
Circuits Syst. Signal Process.
Dongxing Fang, Kaiming Nie, Ziyang Zhang, Jiangtao Xu
2023 J jnl
Microelectron. J.
Gaoyuan Wang, Quanmin Chen, Jiangtao Xu, Kaiming Nie
2023 J jnl
Int. J. Circuit Theory Appl.
Yalei Liu, Jiangtao Xu, Wanbin Zha, Kaiming Nie
2023 J jnl
Microelectron. J.
Xiuyu Wang, Tantan Ju, Changju Liu, Kaiming Nie, Jiangtao Xu
2023 J jnl
Microelectron. J.
Yuanmeng Zhang, Jiangtao Xu, Kaiming Nie, Changju Liu, Yuli Yang, Hao Wang
2023 J jnl
Microelectron. J.
Peng Gu, Jing Gao, Zhiyuan Gao, Kaiming Nie, Jiangtao Xu
2023 J jnl
Microelectron. J.
Jing Gao, Xin Yang, Xiaopei Shi, Zhiyuan Gao, Kaiming Nie, Jiangtao Xu
2022 J jnl
Microelectron. J.
Jing Gao, Ningxi Yan, Kaiming Nie, Zhiyuan Gao, Jiangtao Xu
2022 J jnl
Microelectron. J.
Zeqing Wang, Qiang Li, Kaiming Nie, Jiangtao Xu, Guan Tian, Jing Gao
2022 J jnl
Microelectron. J.
Jing Gao, Rui Li, Kaiming Nie, Jiangtao Xu
2022 J jnl
Microelectron. J.
Kaiming Nie, Zhihong Pan, Jiangtao Xu, Zhiyuan Gao
2022 J jnl
Microelectron. J.
Xiuyu Wang, Changchun Li, Wanbin Zha, Kaiming Nie, Jiangtao Xu
2022 J jnl
Microelectron. J.
Jiangtao Xu, JiaHao Wei, Quanmin Chen, Wanbin Zha, Kaiming Nie
2022 J jnl
Sci. China Inf. Sci.
Jiangtao Xu, Peng Lin, Zhiyuan Gao, Kaiming Nie, Liang Xu
2022 J jnl
Frontiers Inf. Technol. Electron. Eng.
Peiwen Zhang, Jiangtao Xu, Huafeng Nie, Zhiyuan Gao, Kaiming Nie
2021 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Jiangtao Xu, Liang Xu, Zhiyuan Gao, Peng Lin, Kaiming Nie
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Jing Gao, Tianyu Gu, Kaiming Nie, Zhiyuan Gao, Jiangtao Xu
2021 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Kaiming Nie, Xiaopei Shi, Silu Cheng, Zhiyuan Gao, Jiangtao Xu
2021 J jnl
IET Image Process.
Jiangtao Xu, Xiangfeng Wang, Zhiyuan Gao, Kaiming Nie
2021 J jnl
Microelectron. J.
Jing Gao, Baoshuai Zhang, Kaiming Nie, Jiangtao Xu
2020 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Kaiming Nie, Wanbin Zha, Xiaolin Shi, Jiawen Li, Jiangtao Xu, Jianguo Ma
2020 J jnl
Microelectron. J.
Jianian Zhu, Jiangtao Xu, Kaiming Nie
2020 J jnl
Microelectron. J.
Jing Gao, Dezhi Zhang, Kaiming Nie, Jiangtao Xu
2019 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Jiangtao Xu, Wei Li, Kaiming Nie, Liqiang Han, Xiyang Zhao
2019 J jnl
IEEE Access
Jiangtao Xu, Peiwen Zhang, Zhe Yang, Zhiyuan Gao, Kaiming Nie, Jianguo Ma
2018 J jnl
Sensors
Jiangtao Xu, Xiyang Zhao, Liqiang Han, Kaiming Nie, Liang Xu, Jianguo Ma
2018 J jnl
Microelectron. J.
Jiangtao Xu, Xiaolin Shi, Zhiyuan Gao, Kaiming Nie
2018 J jnl
Sensors
Jing Gao, Yanzhao Wang, Kaiming Nie, Zhiyuan Gao, Jiangtao Xu
2017 J jnl
Microelectron. J.
Kaiming Nie, Zhaoyang Yin, Jiangtao Xu
2017 J jnl
Microelectron. J.
Jiangtao Xu, An Zhang, Zhiyuan Gao, Kaiming Nie, Jun Qiao
2016 J jnl
Sensors
Kaiming Nie, Xinlei Wang, Jun Qiao, Jiangtao Xu
2016 J jnl
Sensors
Changwei Yu, Kaiming Nie, Jiangtao Xu, Jing Gao
2016 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Yu Xia, Kaiming Nie, Jiangtao Xu, Suying Yao
2016 J jnl
Microelectron. J.
Yong Zong, Jing Gao, Zhaoyang Yin, Shilin Shen, Kaiming Nie, Wen Liu, Jiangtao Xu
2016 J jnl
Microelectron. Reliab.
Kaiming Nie, Jianxin Li, Zhiyuan Gao, Jiangtao Xu
2016 J jnl
J. Circuits Syst. Comput.
Gengyu Zhang, Xia Xiao, Jiangtao Xu, Kaiming Nie, Zhiyuan Gao
2016 J jnl
J. Signal Process. Syst.
Kaiming Nie, Lin Li, Suying Yao, Jiangtao Xu
2015 J jnl
J. Circuits Syst. Comput.
Jiangtao Xu, Jing Yu, Fujun Huang, Kaiming Nie
2015 J jnl
Sensors
Zhiyuan Gao, Congjie Yang, Jiangtao Xu, Kaiming Nie
2015 J jnl
Sensors
Zhenwang Liu, Jiangtao Xu, Xinlei Wang, Kaiming Nie, Weimin Jin
2014 J jnl
J. Circuits Syst. Comput.
Jiangtao Xu, Weisong Jin, Kaiming Nie, Suying Yao
2014 J jnl
Sensors
Tao Lyu, Suying Yao, Kaiming Nie, Jiangtao Xu
2014 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Kaiming Nie, Suying Yao, Jiangtao Xu, Jing Gao, Yu Xia
2014 J jnl
IEEE Trans. Very Large Scale Integr. Syst.
Kaiming Nie, Suying Yao, Jiangtao Xu, Jing Gao
2013 J jnl
J. Circuits Syst. Comput.
Kaiming Nie, Suying Yao, Jiangtao Xu, Jing Gao
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