小编orc*_*ser的帖子

将日志以 Gelf 格式发送到 Graylog

我想使用graylog作为中央日志服务器,目前我只是使用slf4j Logger“slf4j-api”作为Java日志框架来登录我的java应用程序。我可以使用 SLF4J 将日志记录发送到 Graylog 吗?或者我需要哪些额外的库才能将这些日志发送到 Graylog?

java slf4j graylog2 graylog gelf

9
推荐指数
1
解决办法
3497
查看次数

JsonProcessingException 的单元测试

我想编写一个单元测试来测试 JsonProcessingException。此异常可能发生在以下行:mapper.writeValueAsString()。

public void myMethod(Args...) {
        try {
               ObjectMapper mapper = new ObjectMapper();
                mapper.configure(SerializationFeature.INDENT_OUTPUT, true);

                Document.parse(mapper.writeValueAsString(testObject)));
            }
        } catch (JsonProcessingException e) {
            log.error("Error parsing the object to json string. ", e);
        } 
}
Run Code Online (Sandbox Code Playgroud)

这是我的单元测试:

public class Test {

    @Mock
    private ObjectMapper              mapper;

    @InjectMocks
    ClassUnderTest            sut;

    @Test
    public void testJsonProcessingException() throws     JsonProcessingException {
        when(mapper.writeValueAsString(Mockito.any())).thenThrow(new     JsonProcessingException("Error parsing the object to json string. "){
            private static final long serialVersionUID = 1L;});
        sut.myMethod(args...);
    }

}
Run Code Online (Sandbox Code Playgroud)

问题是我模拟的映射器将不会被使用(我得到不必要的 Mockito 存根失败),因为映射器在方法内部再次初始化。我如何使用mockito对这种情况进行单元测试?

java json unit-testing mocking mockito

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

gelf ×1

graylog ×1

graylog2 ×1

json ×1

mocking ×1

mockito ×1

slf4j ×1

unit-testing ×1