DiskReporterImpl extends AbstractDiskReporter { @Override public void digestReport(SofaTracerSpan span) { if (!this.isDigestFileInited.get()) { this.initDigestFile(); } AsyncCommonDigestAppenderManager asyncDigestManager = SofaTracerDigestReporterAsyncManager .getSofaTracerDigestReporterAsyncManager(); if (asyncDigestManager.isAppenderAndEncoderExist(this.digestLogType)) { asyncDigestManager.append(span); } else { SelfLog.warn(span.toString() + " have no logType set, so ignore data persistence."); } } DiskReporterImpl(String digestLogType, SpanEncoder contextEncoder);  DiskReporterImpl(String digestLogType, String digestRollingPolicy,
                            String digestLogReserveConfig, SpanEncoder contextEncoder);  DiskReporterImpl(String digestLogType, String digestRollingPolicy,
                            String digestLogReserveConfig, SpanEncoder contextEncoder,
                            SofaTracerStatisticReporter statReporter);  DiskReporterImpl(String digestLogType, String digestRollingPolicy,
                            String digestLogReserveConfig, SpanEncoder contextEncoder,
                            SofaTracerStatisticReporter statReporter, String logNameKey); SofaTracerStatisticReporter getStatReporter(); void setStatReporter(SofaTracerStatisticReporter statReporter); @Override String getDigestReporterType(); @Override String getStatReporterType(); @Override void digestReport(SofaTracerSpan span); @Override void statisticReport(SofaTracerSpan span); AtomicBoolean getIsDigestFileInited(); String getDigestLogType(); String getDigestRollingPolicy(); String getDigestLogReserveConfig(); SpanEncoder getContextEncoder(); String getLogNameKey();  }
@Test public void testDigestReport() { this.clientReporter.digestReport(this.sofaTracerSpan); assertEquals(true, this.clientReporter.getIsDigestFileInited().get()); }