Ejemplo n.º 1
0
        private static string GetLoggerSettings(MSBuildFileLoggerSettings loggerSettings, ICakeEnvironment environment)
        {
            var settings = new List <string>();

            var commonArguments = GetLoggerSettings(loggerSettings);

            if (commonArguments.Any())
            {
                settings.Add(commonArguments);
            }

            if (loggerSettings.LogFile != null)
            {
                var filePath = string.IsNullOrWhiteSpace(loggerSettings.LogFile)
                    ? string.Empty
                    : FilePath.FromString(loggerSettings.LogFile).MakeAbsolute(environment).ToString();

                settings.Add($"LogFile=\"{filePath}\"");
            }

            if (loggerSettings.AppendToLogFile)
            {
                settings.Add("Append");
            }

            if (!string.IsNullOrWhiteSpace(loggerSettings.FileEncoding))
            {
                settings.Add($"Encoding={loggerSettings.FileEncoding}");
            }

            return(string.Join(";", settings));
        }
Ejemplo n.º 2
0
        private static string GetLoggerArgument(int index, MSBuildFileLoggerSettings logger, ICakeEnvironment environment)
        {
            var parameters = GetLoggerSettings(logger, environment);

            if (string.IsNullOrWhiteSpace(parameters))
            {
                return(string.Empty);
            }

            var counter = index == 0 ? string.Empty : index.ToString();

            return($"/fileLogger{counter} /fileloggerparameters{counter}:{parameters}");
        }
        /// <summary>
        /// Adds a file logger.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <param name="fileLoggerParameters">Parameters to be passed to the logger.</param>
        /// <returns>The same <see cref="DotNetCoreMSBuildSettings"/> instance so that multiple calls can be chained.</returns>
        /// <remarks>
        /// Each file logger will be declared in the order added.
        /// The first file logger will match up to the /fl parameter.
        /// The next nine (max) file loggers will match up to the /fl1 through /fl9 respectively.
        /// </remarks>
        public static DotNetCoreMSBuildSettings AddFileLogger(this DotNetCoreMSBuildSettings settings, MSBuildFileLoggerSettings fileLoggerParameters)
        {
            EnsureSettings(settings);

            if (fileLoggerParameters == null)
            {
                throw new ArgumentNullException(nameof(fileLoggerParameters));
            }

            settings.FileLoggers.Add(fileLoggerParameters);

            return(settings);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Adds a file logger.
 /// </summary>
 /// <param name="settings">The settings.</param>
 /// <param name="fileLoggerParameters">Parameters to be passed to the logger.</param>
 /// <returns>The same <see cref="DotNetCoreMSBuildSettings"/> instance so that multiple calls can be chained.</returns>
 /// <remarks>
 /// Each file logger will be declared in the order added.
 /// The first file logger will match up to the /fl parameter.
 /// The next nine (max) file loggers will match up to the /fl1 through /fl9 respectively.
 /// </remarks>
 public static DotNetCoreMSBuildSettings AddFileLogger(this DotNetCoreMSBuildSettings settings, MSBuildFileLoggerSettings fileLoggerParameters)
 {
     return((DotNetCoreMSBuildSettings)DotNet.MSBuild.DotNetMSBuildSettingsExtensions.AddFileLogger(settings, fileLoggerParameters));
 }