Mercurial > hg4j
diff src/org/tmatesoft/hg/internal/FileUtils.java @ 654:12a4f60ea972
1) Console push tool. 2) Pass class to blame into FileUtils
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 03 Jul 2013 15:11:40 +0200 |
parents | ffce73efa2c2 |
children | 24f4efedc9d5 |
line wrap: on
line diff
--- a/src/org/tmatesoft/hg/internal/FileUtils.java Wed Jul 03 14:38:30 2013 +0200 +++ b/src/org/tmatesoft/hg/internal/FileUtils.java Wed Jul 03 15:11:40 2013 +0200 @@ -37,13 +37,19 @@ public final class FileUtils { private final LogFacility log; + private final Class<?> troublemaker; public static void copyFile(File from, File to) throws HgIOException { - new FileUtils(new StreamLogFacility(Debug, true, System.err)).copy(from, to); + new FileUtils(new StreamLogFacility(Debug, true, System.err), FileUtils.class).copy(from, to); } - public FileUtils(LogFacility logFacility) { + public FileUtils(LogFacility logFacility, Object troubleSource) { log = logFacility; + if (troubleSource == null) { + troublemaker = null; + } else { + troublemaker = troubleSource instanceof Class ? (Class<?>) troubleSource : troubleSource.getClass(); + } } public void copy(File from, File to) throws HgIOException { @@ -104,7 +110,7 @@ } else { msg = String.format("Failed to close %s", f); } - log.dump(getClass(), Severity.Warn, ex, msg); + log.dump(troublemaker == null ? getClass() : troublemaker, Severity.Warn, ex, msg); } } }