Какая диаграмма UML подходит лучше всего для изображения вызовов функции? Также есть ли какие-либо схемы, где мы можем также упомянуть параметры, которые мы передаем вызванным функциям?
Симграммы связи также являются вариантом и имеют тенденцию к более деталям в отношении параметров, используемых внутри вызовов функций.
Видимо, PatternString может использоваться только для создания имен журналов (т.е. имен файлов и т.д.), тогда как формат позволяет форматировать фактическое сообщение, которое попадает в журнал. Если в компоновке процесса отсутствует встроенный образец для идентификатора процесса, его можно легко добавить. Это гораздо проще, чем создать весь макет.
Вот как это сделать:
Создайте собственный пользовательский конвертер образца (пример ниже пытается получить имя приложения независимо от выигрыша или веб):
internal sealed class ApplicationNamePatternConverter : PatternLayoutConverter
{
/// <summary>
/// Write the event application name to the output
override protected void Convert(TextWriter writer, LoggingEvent loggingEvent)
{
string name = string.Empty;
if( System.Web.HttpContext.Current != null )
{
string[] applicationPath = System.Web.HttpContext.Current.Request.ApplicationPath.Split('/');
name = applicationPath[applicationPath.Length - 1];
}
else
{
if( System.Reflection.Assembly.GetEntryAssembly() != null )
{
name = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
}
}
writer.Write(name);
}
}
Добавьте запись для конвертера в реестр класса PatternLayout
static PatternLayout()
{
...
s_globalRulesRegistry.Add("ApplicationName", typeof(ApplicationNamePatternConverter));
}
Теперь вы можете использовать % StartName
в значении PatternLayout, чтобы получить то, что вам нужно.
Я бы посоветовал не использовать макет XmlLayoutSchemaLog4j
, поскольку он очень тяжелый и может снизить производительность вашего приложения при частом использовании.
Похоже, мой .inf. Вот что сработало для меня:
[version]
Signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\MySetup.msi" /qn
Чтобы сделать cab:
CABARC.EXE N MyActiveX.cab MySetup.msi setup.inf
-121--4460497- Диаграммы последовательности подходят для представления вызовов функций, и вы можете также указать параметры и возвращенные значения.