diff --git a/libs/event-emitter/src/redmine-data-loader/redmine-data-loader.ts b/libs/event-emitter/src/redmine-data-loader/redmine-data-loader.ts index 6df42ee..861baa6 100644 --- a/libs/event-emitter/src/redmine-data-loader/redmine-data-loader.ts +++ b/libs/event-emitter/src/redmine-data-loader/redmine-data-loader.ts @@ -1,28 +1,35 @@ import axios from 'axios'; import { RedmineIssueData } from '../models/RedmineIssueData'; -import { Injectable } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; @Injectable() export class RedmineDataLoader { urlPrefix: string; + private logger = new Logger(RedmineDataLoader.name); + constructor(private configService: ConfigService) { this.urlPrefix = this.configService.get('redmineUrlPrefix'); } - async loadIssues(issues: number[]): Promise { + async loadIssues(issues: number[]): Promise<(RedmineIssueData | null)[]> { const promises = issues.map((issue) => this.loadIssue(issue)); return Promise.all(promises); } - async loadIssue(issueNumber: number): Promise { + async loadIssue(issueNumber: number): Promise { const url = this.getUrl(issueNumber); const resp = await axios.get(url); if (!resp || !resp.data || !resp.data.issue) { - console.error('Failed to load data from redmine'); + this.logger.error( + `Failed to load data for from redmine, issueNumber = ${issueNumber}`, + ); return null; } + this.logger.debug( + `Loaded issue, issueNumber = ${issueNumber}, subject = ${resp.data.issue.subject}`, + ); return resp.data.issue; }