Manabu Mikami

37 papers C 2Journal 12Unranked 23
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEICE Trans. Commun.
Manabu Mikami
2025 C conf
PEMWN
Jin Nakazato, Mikio Hasegawa, Manabu Mikami
2025 conf
ICOIN
Nayuta Yamane, Jin Nakazato, Koki Ito, Manabu Mikami, Takahiro Tsuchiya, Manabu Tsukada, Hiroshi Esaki
2025 conf
WPMC
Manabu Mikami, Katsuhiro Horiba, Satoru Matsushima
2025 J jnl
IEEE Access
Yusaku Shiomitsu, Eiji Okamoto, Manabu Mikami, Hitoshi Yoshino
2024 J jnl
IEICE Trans. Commun.
Manabu Mikami, Hitoshi Yoshino
2021 J jnl
IEICE Trans. Commun.
Manabu Mikami, Koichi Serizawa, Kohei Moto, Hitoshi Yoshino
2021 J jnl
IEICE Trans. Commun.
Manabu Mikami, Kohei Moto, Koichi Serizawa, Hitoshi Yoshino
2020 conf
VTC Spring
Manabu Mikami, Koichi Serizawa, Yoshikazu Ishida, Hideya Nishiyori, Kohei Moto, Hitoshi Yoshino
2020 conf
VTC Spring
Manabu Mikami, Yoshikazu Ishida, Koichi Serizawa, Hideya Nishiyori, Kohei Moto, Hitoshi Yoshino
2020 conf
VNC
Yusaku Shiomitsu, Eiji Okamoto, Manabu Mikami, Hitoshi Yoshino
2019 conf
VTC Fall
Kohei Moto, Manabu Mikami, Koichi Serizawa, Hitoshi Yoshino
2019 conf
VTC Fall
Koichi Serizawa, Manabu Mikami, Kohei Moto, Hitoshi Yoshino
2019 J jnl
IEICE Trans. Commun.
Manabu Mikami, Hitoshi Yoshino
2019 J jnl
IEICE Trans. Commun.
Eiji Okamoto, Manabu Mikami, Hitoshi Yoshino
2019 conf
VNC
Yusaku Shiomitsu, Eiji Okamoto, Manabu Mikami, Hitoshi Yoshino
2018 J jnl
IEICE Trans. Commun.
Kenji Hoshino, Manabu Mikami, Sourabh Maiti, Hitoshi Yoshino
2017 conf
VTC Spring
Kenji Hoshino, Manabu Mikami, Sourabh Maiti, Hitoshi Yoshino
2017 conf
VTC Spring
Kenji Hoshino, Manabu Mikami
2017 conf
VTC Spring
Sourabh Maiti, Manabu Mikami, Kenji Hoshino
2017 J jnl
IEICE Trans. Commun.
Sourabh Maiti, Manabu Mikami, Kenji Hoshino
2016 conf
VTC Spring
Sourabh Maiti, Manabu Mikami, Kenji Hoshino
2016 conf
VTC Spring
Manabu Mikami, Sourabh Maiti, Hitoshi Yoshino
2016 J jnl
IEICE Trans. Commun.
Hidekazu Murata, Eiji Okamoto, Manabu Mikami, Akihiro Okazaki, Satoshi Suyama, Takamichi Inoue, Jun Mashino, Tetsuya Yamamoto, Makoto Taromaru
2015 conf
VTC Spring
Manabu Mikami, Masayuki Miyashita, Hitoshi Yoshino
2015 conf
VTC Spring
Masayuki Miyashita, Manabu Mikami, Teruya Fujii
2015 C conf
APCC
Hidekazu Murata, Eiji Okamoto, Manabu Mikami, Akihiro Okazaki, Satoshi Suyama, Takamichi Inoue, Jun Mashino, Tetsuya Yamamoto, Makoto Taromaru
2013 conf
VTC Spring
Masayuki Miyashita, Manabu Mikami, Hitoshi Yoshino
2012 conf
VTC Spring
Manabu Mikami, Masayuki Miyashita, Haruya Miyajima, Kenji Hoshino, Hitoshi Yoshino, Teruya Fujii
2011 conf
ICC
Atsushi Nagate, Kenji Hoshino, Manabu Mikami, Teruya Fujii
2011 conf
VTC Fall
Haruya Miyajima, Manabu Mikami, Hideki Hayashi, Teruya Fujii
2011 J jnl
IEICE Trans. Commun.
Manabu Mikami, Atsushi Nagate, Kenji Hoshino, Teruya Fujii
2011 conf
VTC Spring
Manabu Mikami, Teruya Fujii
2009 conf
VTC Spring
Manabu Mikami, Teruya Fujii
2009 conf
VTC Spring
Atsushi Nagate, Kenji Hoshino, Manabu Mikami, Teruya Fujii
2008 conf
VTC Spring
Manabu Mikami, Teruya Fujii
2008 J jnl
IEICE Trans. Commun.
Manabu Mikami, Teruya Fujii
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