Added thread name in log record

This commit is contained in:
fabio.formosa
2016-11-06 13:01:20 +01:00
parent 1fd93f3c98
commit 323138b260
5 changed files with 29 additions and 23 deletions

View File

@@ -26,8 +26,7 @@ public class SchedulerController {
private static final int MILLS_IN_A_DAY = 1000 * 60 * 60 * 24;
private static final int SEC_IN_A_DAY = 60 * 60 * 24;
private final Logger log = LoggerFactory
.getLogger(SchedulerController.class);
private final Logger log = LoggerFactory.getLogger(SchedulerController.class);
@Resource
private Scheduler scheduler;
@@ -53,16 +52,14 @@ public class SchedulerController {
SchedulerConfigParam config = new SchedulerConfigParam();
config.setMaxCount(jobTrigger.getRepeatCount() + 1);
long repeatIntervalInMills = jobTrigger.getRepeatInterval();
config.setTriggerPerDay(
fromMillsIntervalToTriggerPerDay(repeatIntervalInMills));
config.setTriggerPerDay(fromMillsIntervalToTriggerPerDay(repeatIntervalInMills));
return config;
}
@RequestMapping("/progress")
public TriggerProgress getProgressInfo() throws SchedulerException {
SimpleTriggerImpl jobTrigger = ((SimpleTriggerImpl) scheduler
.getTrigger(this.jobTrigger.getKey()));
SimpleTriggerImpl jobTrigger = ((SimpleTriggerImpl) scheduler.getTrigger(this.jobTrigger.getKey()));
TriggerProgress progress = new TriggerProgress();
if (jobTrigger != null && jobTrigger.getJobKey() != null) {
@@ -83,19 +80,14 @@ public class SchedulerController {
}
@RequestMapping(value = "/config", method = RequestMethod.POST)
public SchedulerConfigParam postConfig(
@RequestBody SchedulerConfigParam config)
public SchedulerConfigParam postConfig(@RequestBody SchedulerConfigParam config)
throws SchedulerException {
TriggerBuilder<SimpleTrigger> triggerBuilder = jobTrigger
.getTriggerBuilder();
TriggerBuilder<SimpleTrigger> triggerBuilder = jobTrigger.getTriggerBuilder();
int intervalInSeconds = fromTriggerPerDayToMillSecInterval(
config.getTriggerPerDay());
Trigger newTrigger = triggerBuilder
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(intervalInSeconds)
.withRepeatCount(config.getMaxCount() - 1))
int intervalInSeconds = fromTriggerPerDayToMillSecInterval(config.getTriggerPerDay());
Trigger newTrigger = triggerBuilder.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(intervalInSeconds).withRepeatCount(config.getMaxCount() - 1))
.build();
scheduler.rescheduleJob(jobTrigger.getKey(), newTrigger);

View File

@@ -15,8 +15,7 @@ import it.fabioformosa.quartzmanager.jobs.entities.LogRecord;
public abstract class AbstractLoggingJob implements Job {
private static final Logger log = LoggerFactory
.getLogger(AbstractLoggingJob.class);
private static final Logger log = LoggerFactory.getLogger(AbstractLoggingJob.class);
@Autowired
private SimpMessageSendingOperations messagingTemplate;
@@ -44,6 +43,7 @@ public abstract class AbstractLoggingJob implements Job {
public void logAndSend(LogRecord logRecord) {
log.info(logRecord.getMessage());
logRecord.setThreadName(Thread.currentThread().getName());
messagingTemplate.convertAndSend("/topic/logs", logRecord);
}

View File

@@ -12,6 +12,7 @@ public class LogRecord {
private LogType type;
private String message;
private String threadName;
public LogRecord(LogType type, String msg) {
super();
@@ -28,6 +29,10 @@ public class LogRecord {
return message;
}
public String getThreadName() {
return threadName;
}
public LogType getType() {
return type;
}
@@ -40,14 +45,17 @@ public class LogRecord {
message = msg;
}
public void setThreadName(String threadName) {
this.threadName = threadName;
}
public void setType(LogType type) {
this.type = type;
}
@Override
public String toString() {
return "LogRecord [date=" + date + ", type=" + type + ", message="
+ message + "]";
return "LogRecord [date=" + date + ", type=" + type + ", message=" + message + "]";
}
}

View File

@@ -25,6 +25,7 @@ angular.module('progress')
logItem.time = logRecord.date;
logItem.type = logRecord.type;
logItem.msg = logRecord.message;
logItem.threadName = logRecord.threadName;
$scope.logs.unshift(logItem);
})

View File

@@ -1,16 +1,21 @@
<div id="logs">
<div class="row" data-ng-repeat="log in logs">
<div class="col-xs-3">
<div class="col-xs-2">
<span data-ng-class="{'animated zoomIn firstLog': $first}"> [{{log.time|date:'medium'}}]</span>
</div>
<div class="col-xs-2">
<div class="col-xs-1">
<span data-ng-class="{'animated zoomIn firstLog': $first}">
<i data-ng-class="{'fa fa-check-circle green': log.type == 'INFO',
'fa fa-exclamation-triangle dark-yellow': log.type == 'WARN',
'fa fa-times-circle red': log.type == 'ERROR'}"></i>
</span>
</div>
<div class="col-xs-7">
<div class="col-xs-3">
<span data-ng-class="{'animated zoomIn firstLog': $first}">
{{log.threadName}}
</span>
</div>
<div class="col-xs-6">
<span data-ng-class="{'animated zoomIn firstLog': $first}"> {{log.msg}}</span>
</div>
</div>