@Override
    public void error(String code, String cause, String extendedInformation, String msg) {
        if (getDisabled()) {
            return;
        }

        try {
            getLogger().error(appendContextMessageWithInstructions(code, cause, extendedInformation, msg));
        } catch (Throwable t) {
            // ignored.
        }
    }
@Test
    void testGetLogger() {
        Assertions.assertThrows(RuntimeException.class, () -> {
            Logger failLogger = mock(Logger.class);
            FailsafeErrorTypeAwareLogger failsafeLogger = new FailsafeErrorTypeAwareLogger(failLogger);

            doThrow(new RuntimeException()).when(failLogger).error(anyString());
            failsafeLogger.getLogger().error("should get error");
        });
    }