Project

General

Profile

1 26600 sandro.lab
package eu.dnetlib.common.logging;
2
3
import java.util.Date;
4
import java.util.Iterator;
5
import java.util.Map;
6
7
import javax.annotation.PostConstruct;
8
9
import org.springframework.beans.factory.annotation.Required;
10
import org.springframework.core.io.Resource;
11
12
import eu.dnetlib.common.logging.conf.DnetLogConfigurationLoader;
13
import eu.dnetlib.common.logging.dao.DnetLoggerDao;
14
15
public class DnetLogger implements Iterable<Map<String, String>> {
16
17
	private String name;
18
19
	private Resource indexConf;
20
21
	@javax.annotation.Resource
22
	private DnetLoggerDao dao;
23
24
	@PostConstruct
25
	public void init() {
26
		dao.init(name);
27
		dao.configureIndex(name, DnetLogConfigurationLoader.getIndexedPaths(indexConf));
28
	}
29
30
	public LogMessage newLogMessage(final DnetLogLevel level) {
31
		return new LogMessage(dao, name, level);
32
	}
33
34
	public LogMessage newLogMessage() {
35
		return newLogMessage(DnetLogLevel.INFO);
36
	}
37
38
	public Iterator<Map<String, String>> find(final String key, final String value) {
39
		return dao.find(name, key, value);
40
	}
41
42 34448 alessia.ba
	public Iterator<Map<String, String>> find(final Map<String, Object> criteria) {
43 32912 claudio.at
		return dao.find(name, criteria);
44
	}
45
46 26600 sandro.lab
	public Map<String, String> findOne(final String key, final String value) {
47
		return dao.findOne(name, key, value);
48
	}
49
50
	@Override
51
	public Iterator<Map<String, String>> iterator() {
52
		return dao.obtainLogIterator(name);
53
	}
54
55
	public String getName() {
56
		return name;
57
	}
58
59
	@Required
60
	public void setName(final String name) {
61
		this.name = name;
62
	}
63
64
	public Resource getIndexConf() {
65
		return indexConf;
66
	}
67
68
	public void setIndexConf(final Resource indexConf) {
69
		this.indexConf = indexConf;
70
	}
71
72
	public Iterator<Map<String, String>> range(final Date startDate, final Date endDate) {
73
		return dao.findByDateRange(name, startDate, endDate);
74
	}
75
76 32912 claudio.at
	public Iterator<Map<String, String>> range(final Date startDate, final Date endDate, final String key, final String value) {
77
		return dao.findByDateRange(name, startDate, endDate, key, value);
78
	}
79
80 34448 alessia.ba
	public Iterator<Map<String, String>> range(final Date startDate, final Date endDate, final Map<String, Object> criteria) {
81 32912 claudio.at
		return dao.findByDateRange(name, startDate, endDate, criteria);
82
	}
83
84 26600 sandro.lab
}