Il Hyo Jung

28 papers Journal 28
YearRankTypeTitle / Venue / Authors
2025 J jnl
Complex.
Muhammad Said, Wasim Abbas, Yunil Roh, Il Hyo Jung
2025 J jnl
Complex.
Sooyoun Choi, Yunil Roh, Yong Dam Jeong, Il Hyo Jung
2024 J jnl
Int. J. Bifurc. Chaos
Lijiao Jia, Yunil Roh, Guangri Piao, Il Hyo Jung
2024 J jnl
Complex.
Kwang Su Kim, Il Hyo Jung, Jong Hyuk Byun
2024 J jnl
J. Appl. Math. Comput.
Jong Hyuk Byun, Il Hyo Jung, Yong Dam Jeong
2022 J jnl
Complex.
Yong Dam Jeong, Kwang Su Kim, Yunil Roh, Sooyoun Choi, Shingo Iwami, Il Hyo Jung
2021 J jnl
Appl. Math. Comput.
Yong Dam Jeong, Sangil Kim, Il Hyo Jung, Gi Phil Cho
2021 J jnl
Appl. Math. Comput.
Jong Hyuk Byun, Il Hyo Jung
2020 J jnl
Complex.
Malik Muhammad Ibrahim, Muhammad Ahmad Kamran, Malik Muhammad Naeem Mannan, Sangil Kim, Il Hyo Jung
2020 J jnl
Appl. Math. Comput.
Kwang Su Kim, Malik Muhammad Ibrahim, Il Hyo Jung, Sangil Kim
2019 J jnl
IEEE Access
Malik Muhammad Ibrahim, Il Hyo Jung
2019 J jnl
Complex.
Asma, Nigar Ali, Gul Zaman, Anwar Zeb, Vedat Suat Ertürk, Il Hyo Jung
2018 J jnl
Math. Comput. Simul.
Kwang Su Kim, Sangil Kim, Il Hyo Jung
2018 J jnl
Comput. Math. Methods Medicine
Jae Hun Jung, Anna Park, Il Hyo Jung
2017 J jnl
Comput. Math. Methods Medicine
Gul Zaman, Il Hyo Jung, Delfim F. M. Torres, Anwar Zeb
2017 J jnl
Math. Comput. Simul.
Gul Zaman, Yong Han Kang, Gi Phil Cho, Il Hyo Jung
2014 J jnl
Comput. Math. Appl.
Tae Gab Ha, Daewook Kim, Il Hyo Jung
2014 J jnl
Comput. Math. Methods Medicine
Kwang Su Kim, Gi Phil Cho, Il Hyo Jung
2012 J jnl
J. Appl. Math.
Abid Ali Lashari, Shaban Aly, Khalid Hattaf, Gul Zaman, Il Hyo Jung, Xue-Zhi Li
2011 J jnl
Comput. Math. Appl.
Daewook Kim, Il Hyo Jung
2011 J jnl
Comput. Math. Appl.
Daewook Kim, Yong Han Kang, Mi Jin Lee, Il Hyo Jung
2009 J jnl
Biosyst.
Gul Zaman, Yong Han Kang, Il Hyo Jung
2009 J jnl
Comput. Math. Appl.
Yong Han Kang, Mi Jin Lee, Il Hyo Jung
2009 J jnl
Appl. Math. Lett.
Yong Han Kang, Mi Jin Lee, Il Hyo Jung
2008 J jnl
Biosyst.
Gul Zaman, Yong Han Kang, Il Hyo Jung
2006 J jnl
Asymptot. Anal.
Il Hyo Jung, Yong Han Kang
2002 J jnl
Appl. Math. Lett.
Xie Ping Ding, Jong Yeoul Park, Il Hyo Jung
2001 J jnl
Fuzzy Sets Syst.
Jong Yeoul Park, Il Hyo Jung, Mi Jin Lee
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