@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object numberObj = numberParser.parse(sourceData, rowIndex, context);
        BigDecimal numberValue = OperatorTools.parseBigDecimal(numberObj);
        if (baseParser != null) {
            Object baseObj = baseParser.parse(sourceData, rowIndex, context);
            BigDecimal baseValue = OperatorTools.parseBigDecimal(baseObj);
            return Math.log(numberValue.doubleValue()) / Math.log(baseValue.doubleValue());
        } else {
            return Math.log(numberValue.doubleValue());
        }
    }
LogFunction  ->  log(numeric1,[numeric2])
description:
- Return the natural logarithm of 'numeric1' when called with one argument
- Return the logarithm of 'numeric2' to the base 'numeric1' when called with two arguments
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/arithmetic/LogFunction.java