C++에는 사실상 표준 로깅 도구가 없습니다. 내 경험에 의하면, 상점은 스스로를 굴립니다. 그러나 재사용 가능한 소프트웨어 구성 요소를 만들려고 할 때 약간의 문제가 발생합니다. 시스템의 모든 항목이 로깅 구성 요소에 의존하면 소프트웨어를 재사용 할 수 없게되므로 기본적으로 모든 다운 스트림 프로젝트가 로깅 프레임 워크를 실제로 원하는 구성 요소와 함께 사용해야합니다.C++ 로깅 프레임 워크가 재사용 가능성을 희생합니까?
구성 요소가 로깅 추상화에 의존해야하므로 IOC (dependency injection)는 실제로 문제에 도움이되지 않습니다. 로깅 구성 요소 자체는 파일 I/O, 트리거 메커니즘 및 기타 원하지 않는 종속성에 대한 종속성을 추가 할 수 있습니다.
독점적 인 로깅 프레임 워크에 종속성을 추가하면 구성 요소의 재사용 가능성이 희생됩니까?
+1, 필자는이 정확한 상황에 직면하고 있습니다. 프로젝트의 주요 구현에는 원하는 추가 정보를 기록하는 추상화 된 로깅 프레임 워크가 있습니다. 그러나 (다른) 로깅 프레임 워크가있는 라이브러리를 사용하지만 다행히도 , 그들은 또한 프레임 워크를 캡슐화하는 객체가 전달 될 것으로 기대합니다 ... 그래서 객체를 만들고, 현재의 로깅 프레임 워크의 관점에서 구현하고 멀리갑니다! – Arafangion