2011-09-20 1 views
5

저는 (다른 구성 설정으로) 약 20 번 배포하고 실행중인 C# 콘솔 앱이 있습니다. 계속해서 열심히하고 20 개의 앱을 실행하면서 무슨 일이 벌어지고 있는지를 상상할 수 있듯이 (나는 이것을 결국 Windows 서비스로 배포 할 것입니다), 한 곳에서 이들의 출력을 쉽게 보여줄 수있는 것이 있습니까?mutilple .Net 콘솔 앱의 출력을 한 곳에서 확인하십시오.

나는 로그 파일에 대해 생각해 봤지만 이것들은 꽤 빠르며, 많은 파일을 열어서 보았습니다. 나는 예상대로 결과가 출력되는지 확인하기 위해 출력을 원합니다.

편집 :

내가 오류를 작성하고 중지/데이터베이스에 정보를 시작하겠습니다. 여기서 제가 이야기하는 것은 일반적인 처리 정보입니다.이 정보는 다시 방문하는 것과 관련이 없지만 콘솔 앱에서 실행되는 동안 살펴 보는 것은 재미 있습니다.

+0

모두 같은 장소에 로그인해도됩니까? 데이터 베이스? – Widor

+0

나는 그들이 모두 정보를 기록하는 곳 (나는 오류에 동의한다)에 대해 너무 걱정하지 않는다. 각각의 정보가 어떻게 달라지고 있는지에 더 관심이있다. 하루에 수만 건의 작업을 수행하는 경우 필자는 다시 볼 필요가 없기 때문에 모든 것을 데이터베이스 (또는 파일)에 쓰고 싶지는 않습니다. – finoutlook

+2

log4net과 그것이 제공하는 애펜더를 살펴보십시오. 일단 설정을하면 정말 쉽습니다. 그리고 Upd을 사용하면 아무도 듣지 않으면 사이버 공간으로 데이터 그램이 사라집니다. –

답변

4

log4net 및 구성 가능한 UdpAppender를 성공적으로 사용했습니다. 그런 다음 모든 UdpAppenders를 단일 시스템으로 지정하여 예를 들어 Log4View로 Udp 메시지를 수신 할 수 있습니다.

프로덕션 환경에서 설치 및 디버그 한 다음 로깅 수준을 높이면 DEBUG 또는 INFO 메시지 대신 ERROR 메시지 만 출력됩니다.

http://logging.apache.org/log4net/

http://www.log4view.com

http://logging.apache.org/log4net/release/config-examples.html

2

나는 무거운 DB 배경에서 온,하지만 어쩌면 때문에 어떻게 다른 응용 프로그램에서 활동을 추적하는 로그 테이블과 SQL 서버를 사용하는 방법에 대한?

DB는 동시성에 맞춰져 있으며 동일한 로그 테이블에 데이터를 삽입하는 여러 응용 프로그램을 쉽게 처리 할 수 ​​있으며 기존의 집계를 활용하여 원하는만큼 데이터를 분할하고 잘라낼 수 있습니다 DB 환경에서 작동합니다.

해당 경로를 사용하는 경우 해당 테이블을 유지 관리해야 할 수도 있습니다 (로그 보관 기간 등).

Splunk과 같은 도구를 사용하여 모든 로그 데이터를 대조하고 시스템 또는 환경 오류 (해당하는 경우)에 해당하는 앱 오류를 시작할 수도 있습니다.

0

나는 두 번째 Mikael Östberg이고 로거 라이브러리 (log4net 또는 nlog)를 사용하도록 권장합니다. 데이터베이스 나 대기열 등에 메시지를 보낼 수있는 많은 옵션이 있습니다. 로그온을 쉽게 켜거나 끌 수 있기 때문에, 이상한 일이 발생하면 모니터 훅으로 서비스에 보관할 수도 있습니다.

+0

내가 현재 찾고있는 것을 확인하고 싶다면 로그를 모니터링하는 방법을 찾고있다. Log4net을 사용한다고 가정 할지라도 출력을 시각화하는 방법은 각 응용 프로그램을보기 위해 드롭 다운에서 20 번 선택해야합니까 아니면 한 페이지에 모두 대조 할 수있는 것이 있습니까? – finoutlook