Skip to content

Commit 0cd5ffd

Browse files
authored
Merge pull request #3606 from gep13/issue-3604
(#3604) Don't allow trace logging when not elevated
2 parents b41f97f + 9c50e4b commit 0cd5ffd

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/chocolatey.console/Program.cs

+17-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,23 @@ private static void Main(string[] args)
145145
var traceAppenderName = "{0}LoggingColoredConsoleAppender".FormatWith(ChocolateyLoggers.Trace.ToStringSafe());
146146
Log4NetAppenderConfiguration.EnableDebugLoggingIf(config.Debug, verboseAppenderName, traceAppenderName);
147147
Log4NetAppenderConfiguration.EnableVerboseLoggingIf(config.Verbose, config.Debug, verboseAppenderName);
148-
Log4NetAppenderConfiguration.EnableTraceLoggingIf(config.Trace, traceAppenderName);
148+
149+
if (config.Information.IsProcessElevated)
150+
{
151+
Log4NetAppenderConfiguration.EnableTraceLoggingIf(config.Trace, traceAppenderName);
152+
}
153+
else
154+
{
155+
var logger = ChocolateyLoggers.Normal;
156+
157+
if (!config.RegularOutput)
158+
{
159+
logger = ChocolateyLoggers.LogFileOnly;
160+
}
161+
162+
"chocolatey".Log().Warn(logger, "Usage of the --trace option is only allowed when running from an elevated session.");
163+
}
164+
149165
"chocolatey".Log().Debug(() => "{0} is running on {1} v {2}".FormatWith(ApplicationParameters.Name, config.Information.PlatformType, config.Information.PlatformVersion.ToStringSafe()));
150166
//"chocolatey".Log().Debug(() => "Command Line: {0}".FormatWith(Environment.CommandLine));
151167

src/chocolatey/GetChocolatey.cs

+9-1
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,15 @@ private T EnsureOriginalConfiguration<T>(IList<string> args, Func<ChocolateyConf
448448
var traceAppenderName = "{0}LoggingColoredConsoleAppender".FormatWith(ChocolateyLoggers.Trace.ToStringSafe());
449449
Log4NetAppenderConfiguration.EnableDebugLoggingIf(configuration.Debug, verboseAppenderName, traceAppenderName);
450450
Log4NetAppenderConfiguration.EnableVerboseLoggingIf(configuration.Verbose, configuration.Debug, verboseAppenderName);
451-
Log4NetAppenderConfiguration.EnableTraceLoggingIf(configuration.Trace, traceAppenderName);
451+
452+
var logger = ChocolateyLoggers.Normal;
453+
454+
if (!configuration.RegularOutput)
455+
{
456+
logger = ChocolateyLoggers.LogFileOnly;
457+
}
458+
459+
"chocolatey".Log().Warn(logger, "Usage of the --trace option is only allowed when running from an elevated session.");
452460
}
453461
finally
454462
{

0 commit comments

Comments
 (0)