(Примечание. Я видел несколько вопросов, касающихся фреймворков .NET, но не видел ни одного, который бы соответствовал нашим требованиям. т закрыть этот как дубликат)Ищет фреймворк для регистрации произвольных объектов в сильно распределенной и параллельной системе в .NET
Мы нужны рамки регистрации для высоко распределенной и параллельной .NET-приложения со следующими характеристиками:.
- Она должна быть поточно-, в логах будет производиться многими потоками.
- Для каждого сообщения журнала необходимо иметь временную метку. Если структура добавит это автоматически, это упростит работу.
- Помимо отметки времени, по крайней мере, должна быть строгость/многословие или что-то подобное для прикрепления к сообщениям журнала, чтобы они могли быть отфильтрованы им. Дополнительные (ортогональные) предопределенные параметры (источник сообщения, предполагаемая аудитория, тип сообщения, что угодно ...) для игры были бы замечательными.
- Однако нам все равно нужно добавить наши собственные параметры. Чем больше они рассматриваются как первоклассные рамочные граждане (могут делать то же самое с ними, как и с предопределенным материалом), тем лучше.
- Структура должна иметь возможность фильтровать сообщения на основе, по меньшей мере, предопределенных параметров. Нам нужно изменить фильтрацию по своему усмотрению во время выполнения.
- Для этого необходимо разместить объектов, а не строки. Строки могут быть сделаны из этих объектов в конце, но параметры сообщения журнала не должны быть помещены в плоскую строку с самого начала.
- Поскольку некоторые из журналов будут видны клиентам, нам, возможно, придется интернационализировать их. (Учитывая, что мы хотим регистрировать объекты, а не строки, это не слишком сложно, но чем больше поддержка, тем лучше.)
- Нам нужно иметь возможность записывать сообщения журнала, оставшиеся после фильтрации в файлы, и читать эти файлы вернитесь. Если структура имеет возможность вытолкнуть и в, нам не нужно это реализовать самостоятельно.
- Каждое сообщение журнала может быть отправлено одновременно нескольким целям (файл, окно, удаленная машина).
- Если сообщения журнала должны быть отправлены по сети, возможно, это необходимо сделать в выделенном потоке.
- Вещь будет использоваться с C#.
ОК, поэтому мы считаем, что почти невозможно найти что-то там, что делает все это из коробки. Это слишком много требований и, вероятно, слишком много необычных.
Но есть ли что-то, что стоит использовать в качестве основы и построить наш материал?
+1. См. Http://log4net.sourceforge.net/release/1.2.0.30316/doc/manual/faq.html#thread-safety. Также довольно легко расширить log4net, создав пользовательские приложения. – TrueWill
Ну, я думаю, если это единственный ответ, то, вероятно, там не так много. Благодаря! – sbi