有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为来自子类的基类日志消息添加前缀

我有一个记录消息的基类(void)方法。是否可以从子类方法为该实例添加前缀

例如:

比方说基类日志result data。我可以从子类记录myPrefix: result data

我用的是slf4j


共 (1) 个答案

  1. # 1 楼答案

    一种可能的解决方案是使用继承并使父类抽象,强制子类实现一个将返回myPrefix的方法:

    父类

    public abstract class ParentClass {
    
    public void log(String message) {
        logger.log(getLogMessagePrefix() + message);
    }
    
    abstract String getLogMessagePrefix(); }
    

    儿童班

    public class ChildClass extends ParentClass {
    
    public final String LOG_PREFIX = "myPrefix";
    
    @Override
    String getLogMessagePrefix() {
        return LOG_PREFIX;
    }}