### Question:
TaskLogDiscriminator extends AbstractDiscriminator<ILoggingEvent> { @Override public String getDiscriminatingValue(ILoggingEvent event) { String loggerName = event.getLoggerName() .split(Constants.EQUAL_SIGN)[1]; String prefix = LoggerUtils.TASK_LOGGER_INFO_PREFIX + "-"; if (loggerName.startsWith(prefix)) { return loggerName.substring(prefix.length(), loggerName.length() - 1).replace("-","/"); } else { return "unknown_task"; } }  @Override String getDiscriminatingValue(ILoggingEvent event); @Override void start(); @Override String getKey(); void setKey(String key); String getLogBase(); void setLogBase(String logBase);  }### Answer:
@Test public void getDiscriminatingValue() { String result = taskLogDiscriminator.getDiscriminatingValue(new ILoggingEvent() { @Override public String getThreadName() { return null; } @Override public Level getLevel() { return null; } @Override public String getMessage() { return null; } @Override public Object[] getArgumentArray() { return new Object[0]; } @Override public String getFormattedMessage() { return null; } @Override public String getLoggerName() { return "[taskAppId=TASK-1-1-1"; } @Override public LoggerContextVO getLoggerContextVO() { return null; } @Override public IThrowableProxy getThrowableProxy() { return null; } @Override public StackTraceElement[] getCallerData() { return new StackTraceElement[0]; } @Override public boolean hasCallerData() { return false; } @Override public Marker getMarker() { return null; } @Override public Map<String, String> getMDCPropertyMap() { return null; } @Override public Map<String, String> getMdc() { return null; } @Override public long getTimeStamp() { return 0; } @Override public void prepareForDeferredProcessing() { } }); Assert.assertEquals("1/1/", result); }