Skip to content

Commit 945c718

Browse files
committed
Reenable logging. Ref. icatproject/ids.server#76.
1 parent ab13c6c commit 945c718

File tree

5 files changed

+79
-2
lines changed

5 files changed

+79
-2
lines changed

pom.xml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,19 @@
4040

4141
<dependencies>
4242

43-
<dependency>
43+
<dependency>
44+
<groupId>org.slf4j</groupId>
45+
<artifactId>slf4j-api</artifactId>
46+
<version>1.7.7</version>
47+
</dependency>
48+
49+
<dependency>
50+
<groupId>ch.qos.logback</groupId>
51+
<artifactId>logback-classic</artifactId>
52+
<version>1.1.3</version>
53+
</dependency>
54+
55+
<dependency>
4456
<groupId>org.icatproject</groupId>
4557
<artifactId>icat.utils</artifactId>
4658
<version>4.16.0</version>
@@ -75,6 +87,9 @@
7587
<artifactSet>
7688
<includes>
7789
<include>org.icatproject:ids.plugin</include>
90+
<include>org.slf4j:slf4j-api</include>
91+
<include>ch.qos.logback:logback-classic</include>
92+
<include>ch.qos.logback:logback-core</include>
7893
</includes>
7994
</artifactSet>
8095
</configuration>

src/main/config/logback.xml.example

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<configuration>
2+
3+
<appender name="FILE"
4+
class="ch.qos.logback.core.rolling.RollingFileAppender">
5+
<file>${HOME}/logs/ids.log</file>
6+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
7+
<fileNamePattern>${HOME}/logs/ids.log.%d{yyyy-MM-dd}.%i.zip
8+
</fileNamePattern>
9+
<maxHistory>30</maxHistory>
10+
<timeBasedFileNamingAndTriggeringPolicy
11+
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
12+
<maxFileSize>100MB</maxFileSize>
13+
</timeBasedFileNamingAndTriggeringPolicy>
14+
</rollingPolicy>
15+
16+
<encoder>
17+
<pattern>%date %level [%thread] %C{0} - %msg%n
18+
</pattern>
19+
</encoder>
20+
</appender>
21+
22+
<root level="INFO">
23+
<appender-ref ref="FILE" />
24+
</root>
25+
26+
<logger name="org.icatproject.ids.FileChecker" level="INFO" />
27+
28+
</configuration>

src/main/java/org/icatproject/site/hzb/ids/storage/ArchiveFileStorage.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,18 @@
1212
import java.nio.file.StandardCopyOption;
1313
import java.util.Properties;
1414

15+
import org.slf4j.Logger;
16+
import org.slf4j.LoggerFactory;
17+
1518
import org.icatproject.ids.plugin.AbstractArchiveStorage;
1619
import org.icatproject.ids.plugin.DsInfo;
1720

1821

1922
public class ArchiveFileStorage extends AbstractArchiveStorage {
2023

24+
private static final Logger logger
25+
= LoggerFactory.getLogger(ArchiveFileStorage.class);
26+
2127
private static final int BUFFER_SIZE = 65536;
2228

2329
private Path baseDir;
@@ -38,6 +44,7 @@ public ArchiveFileStorage(Properties properties) throws IOException {
3844
if (props.has("plugin.archive.filelock")) {
3945
doFileLocking = props.getBoolean("plugin.archive.filelock");
4046
}
47+
logger.info("ArchiveFileStorage initialized");
4148
}
4249

4350
private String getRelPath(DsInfo dsInfo) {
@@ -59,14 +66,18 @@ public void put(DsInfo dsInfo, InputStream inputStream) throws IOException {
5966
Path path = baseDir.resolve(getRelPath(dsInfo));
6067
fileHelper.createDirectories(path.getParent());
6168
if (doFileLocking) {
62-
try (FileOutputStream out = new FileOutputStream(path.toString())) {
69+
String outpath = path.toString();
70+
try (FileOutputStream out = new FileOutputStream(outpath)) {
6371
FileChannel ch = out.getChannel();
72+
logger.debug("Try to acquire an exclusive lock on {}.",outpath);
6473
try (FileLock lock = ch.lock()) {
74+
logger.debug("Lock on {} acquired.", outpath);
6575
byte[] buffer = new byte[BUFFER_SIZE];
6676
int len;
6777
while ((len = inputStream.read(buffer)) > -1) {
6878
out.write(buffer, 0, len);
6979
}
80+
logger.debug("Release lock on {}.", outpath);
7081
}
7182
}
7283
} else {
@@ -82,9 +93,12 @@ public void get(DsInfo dsInfo, Path path) throws IOException {
8293
try (FileInputStream in = new FileInputStream(inpath)) {
8394
if (doFileLocking) {
8495
FileChannel inch = in.getChannel();
96+
logger.debug("Try to acquire a share lock on {}.", inpath);
8597
try (FileLock lock = inch.lock(0L, Long.MAX_VALUE, true)) {
98+
logger.debug("Lock on {} acquired.", inpath);
8699
Files.copy(in, path,
87100
StandardCopyOption.REPLACE_EXISTING);
101+
logger.debug("Release lock on {}.", inpath);
88102
}
89103
} else {
90104
Files.copy(in, path,

src/main/java/org/icatproject/site/hzb/ids/storage/DirLock.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
import java.util.EnumSet;
1414
import java.util.Set;
1515

16+
import org.slf4j.Logger;
17+
import org.slf4j.LoggerFactory;
18+
1619

1720
/*********************************************************************
1821
*
@@ -26,6 +29,8 @@
2629

2730
public class DirLock implements Closeable {
2831

32+
private static final Logger logger = LoggerFactory.getLogger(DirLock.class);
33+
2934
private final static Set<PosixFilePermission> allrwPermissions
3035
= PosixFilePermissions.fromString("rw-rw-rw-");
3136

@@ -37,8 +42,11 @@ public class DirLock implements Closeable {
3742
private FileLock lock;
3843

3944
private void acquireLock() throws IOException {
45+
logger.debug("Try to acquire a {} lock on {}.",
46+
(shared ? "shared" : "exclusive"), dirname);
4047
lf = new RandomAccessFile(lockf.toFile(), "rw");
4148
lock = lf.getChannel().lock(0L, Long.MAX_VALUE, shared);
49+
logger.debug("Lock on {} acquired.", dirname);
4250
Files.setPosixFilePermissions(lockf, allrwPermissions);
4351
}
4452

@@ -54,6 +62,7 @@ public DirLock(Path dir, boolean shared) throws IOException {
5462
}
5563

5664
public void release() throws IOException {
65+
logger.debug("Release lock on {}.", dirname);
5766
lock.release();
5867
lf.close();
5968
}

src/main/java/org/icatproject/site/hzb/ids/storage/MainFileStorage.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,18 @@
1919
import java.util.regex.Matcher;
2020
import java.util.regex.Pattern;
2121

22+
import org.slf4j.Logger;
23+
import org.slf4j.LoggerFactory;
24+
2225
import org.icatproject.ids.plugin.AbstractMainStorage;
2326
import org.icatproject.ids.plugin.DsInfo;
2427

2528

2629
public class MainFileStorage extends AbstractMainStorage {
2730

31+
private static final Logger logger
32+
= LoggerFactory.getLogger(MainFileStorage.class);
33+
2834
public static final Pattern locationPrefixRegExp
2935
= Pattern.compile("([A-Za-z]+):([0-9A-Za-z./_~+-]+)");
3036

@@ -56,6 +62,7 @@ public MainFileStorage(Properties properties) throws IOException {
5662
extBaseDirs.put(extDir, props.getDirectory(propName));
5763
}
5864
}
65+
logger.info("MainFileStorage initialized");
5966
}
6067

6168
/*
@@ -246,9 +253,12 @@ public List<DsInfo> getDatasetsToArchive(long lowArchivingLevel,
246253

247254
long size = treeSizeVisitor.getTotalSize();
248255
if (size < highArchivingLevel) {
256+
logger.debug("Size {} < highArchivingLevel {} no action.",
257+
size, highArchivingLevel);
249258
return Collections.emptyList();
250259
}
251260
long recover = size - lowArchivingLevel;
261+
logger.debug("Want to reduce size by {}.", recover);
252262

253263
List<DsInfo> result = new ArrayList<>();
254264
for (DsInfoImpl dsInfo : treeSizeVisitor.getDsInfos()) {
@@ -258,6 +268,7 @@ public List<DsInfo> getDatasetsToArchive(long lowArchivingLevel,
258268
break;
259269
}
260270
}
271+
logger.debug("{} DsInfos returned to reduce size", result.size());
261272
return result;
262273
}
263274

0 commit comments

Comments
 (0)