Mercurial > hg > mercurial
changeset 578:40c085517770
Truncate command output in the logs
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 27 Mar 2013 20:25:50 +0400 |
parents | a9fea2d1d6c8 |
children | da75e774d237 |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerCommandSettingsFactory.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java |
diffstat | 6 files changed, 36 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandSettings.java Wed Mar 27 20:25:50 2013 +0400 @@ -18,6 +18,7 @@ private boolean myFailWhenStderrNotEmpty = false; private String myLogLevel = "debug"; private Map<String, String> myHgEnv = new HashMap<String, String>(); + private int myLogOutputLimit = -1; public CommandSettings() { @@ -89,4 +90,13 @@ public Map<String, String> getHgEnv() { return myHgEnv; } + + public int getLogOutputLimit() { + return myLogOutputLimit; + } + + public CommandSettings setLogOutputLimit(int logOutputLimit) { + myLogOutputLimit = logOutputLimit; + return this; + } }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandUtil.java Wed Mar 27 20:25:50 2013 +0400 @@ -32,7 +32,7 @@ CommandResult res = run(cli, settings.getTimeout(), command, settings.getPrivateData()); if (settings.isCheckForFailure() || settings.isFailWithNonEmptyStderr()) res.checkFailure(settings.isFailWithNonEmptyStderr()); - logCommandOutput(command, res); + logCommandOutput(command, res, settings); return res; } @@ -75,7 +75,12 @@ } } - private static void logCommandOutput(@NotNull String command, @NotNull CommandResult result) { - Loggers.VCS.debug("Command " + command + " output:\n" + result.getStdout()); + private static void logCommandOutput(@NotNull String command, @NotNull CommandResult result, @NotNull CommandSettings settings) { + int limit = settings.getLogOutputLimit(); + if (limit == -1) { + Loggers.VCS.debug("Command " + command + " output:\n" + result.getStdout()); + } else { + Loggers.VCS.debug("Command " + command + " output:\n" + result.getStdout().substring(0, limit) + "..."); + } } }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerCommandSettingsFactory.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerCommandSettingsFactory.java Wed Mar 27 20:25:50 2013 +0400 @@ -2,10 +2,17 @@ import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandSettings; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.CommandSettingsFactory; +import org.jetbrains.annotations.NotNull; public class ServerCommandSettingsFactory implements CommandSettingsFactory { + private final ServerPluginConfig myConfig; + + public ServerCommandSettingsFactory(@NotNull final ServerPluginConfig config) { + myConfig = config; + } + public CommandSettings create() { - return new CommandSettings().setLogLevel("debug"); + return new CommandSettings().setLogLevel("debug").setLogOutputLimit(myConfig.getLogOutputLimit()); } }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java Wed Mar 27 20:25:50 2013 +0400 @@ -23,4 +23,6 @@ public boolean bookmarksEnabled(); public int getMaxDagNodesCount(); + + public int getLogOutputLimit(); }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java Wed Mar 27 20:25:50 2013 +0400 @@ -50,6 +50,10 @@ return TeamCityProperties.getInteger("teamcity.hg.maxDagNodesCount", 0); } + public int getLogOutputLimit() { + return TeamCityProperties.getInteger("teamcity.hg.logOutputLimitChars", 2048); + } + public boolean detectSubrepoChanges() { return TeamCityProperties.getBooleanOrTrue("teamcity.hg.detectSubrepoChanges"); }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java Wed Mar 27 19:06:51 2013 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java Wed Mar 27 20:25:50 2013 +0400 @@ -53,6 +53,10 @@ public int getMaxDagNodesCount() { return 0; } + + public int getLogOutputLimit() { + return 0; + } }; }