Used to send log messages to the [Run log](https://trigger.dev/docs/documentation/guides/viewing-runs).
()
| 214 | |
| 215 | /** Used to send log messages to the [Run log](https://trigger.dev/docs/documentation/guides/viewing-runs). */ |
| 216 | get logger() { |
| 217 | return new IOLogger(async (level, message, data) => { |
| 218 | let logLevel: LogLevel = "info"; |
| 219 | |
| 220 | if (data instanceof Error) { |
| 221 | data = { |
| 222 | name: data.name, |
| 223 | message: data.message, |
| 224 | stack: data.stack, |
| 225 | }; |
| 226 | } |
| 227 | |
| 228 | if (Logger.satisfiesLogLevel(logLevel, this._jobLogLevel)) { |
| 229 | await this.runTask( |
| 230 | [message, level], |
| 231 | async (task) => { |
| 232 | switch (level) { |
| 233 | case "LOG": { |
| 234 | this._jobLogger?.log(message, data); |
| 235 | logLevel = "log"; |
| 236 | break; |
| 237 | } |
| 238 | case "DEBUG": { |
| 239 | this._jobLogger?.debug(message, data); |
| 240 | logLevel = "debug"; |
| 241 | break; |
| 242 | } |
| 243 | case "INFO": { |
| 244 | this._jobLogger?.info(message, data); |
| 245 | logLevel = "info"; |
| 246 | break; |
| 247 | } |
| 248 | case "WARN": { |
| 249 | this._jobLogger?.warn(message, data); |
| 250 | logLevel = "warn"; |
| 251 | break; |
| 252 | } |
| 253 | case "ERROR": { |
| 254 | this._jobLogger?.error(message, data); |
| 255 | logLevel = "error"; |
| 256 | break; |
| 257 | } |
| 258 | } |
| 259 | }, |
| 260 | { |
| 261 | name: "log", |
| 262 | icon: "log", |
| 263 | description: message, |
| 264 | params: data, |
| 265 | properties: [{ label: "Level", text: level }], |
| 266 | style: { style: "minimal", variant: level.toLowerCase() }, |
| 267 | noop: true, |
| 268 | } |
| 269 | ); |
| 270 | } |
| 271 | }); |
| 272 | } |
| 273 |