agent/src/jetbrains/buildServer/xmlReportPlugin/BaseMessageLogger.java (38 lines of code) (raw):
package jetbrains.buildServer.xmlReportPlugin;
import jetbrains.buildServer.agent.BuildProgressLogger;
import jetbrains.buildServer.problems.BuildProblemUtil;
import org.jetbrains.annotations.NotNull;
/**
* @author vbedrosova
*/
public class BaseMessageLogger implements MessageLogger {
@NotNull
protected final BuildProgressLogger myLogger;
@NotNull
protected final String myBuildProblemType;
@NotNull
protected final String myBaseFolder;
public BaseMessageLogger(@NotNull final BuildProgressLogger logger, @NotNull final String buildProblemType, @NotNull final String baseFolder) {
myLogger = logger;
myBuildProblemType = buildProblemType;
myBaseFolder = baseFolder;
}
@Override
public void info(@NotNull final String message) {
myLogger.message(makeRelativePaths(message));
}
@Override
public void warning(@NotNull final String message) {
myLogger.warning(makeRelativePaths(message));
}
@Override
public void error(@NotNull final String message) {
myLogger.error(makeRelativePaths(message));
}
@Override
public void failure(@NotNull final String message) {
myLogger.error(message);
myLogger.logBuildProblem(BuildProblemUtil.createBuildProblem(myBuildProblemType, makeRelativePaths(message), myBaseFolder));
}
@NotNull
protected String makeRelativePaths(@NotNull final String message) {
return message.replace(myBaseFolder.replace("\\", "/") + "/", "").replace(myBaseFolder.replace("/", "\\") + "\\", "");
}
}