mirror of
https://github.com/eggjs/egg.git
synced 2024-12-04 07:14:30 +00:00
49 lines
1.0 KiB
JavaScript
49 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
const BaseContextLogger = require('./base_context_logger');
|
|
|
|
const LOGGER = Symbol('BaseContextClass#logger');
|
|
|
|
/**
|
|
* BaseContextClass is a base class that can be extended,
|
|
* it's instantiated in context level,
|
|
* {@link Helper}, {@link Service} is extending it.
|
|
*/
|
|
class BaseContextClass {
|
|
|
|
/**
|
|
* @constructor
|
|
* @param {Context} ctx - context instance
|
|
* @since 1.0.0
|
|
*/
|
|
constructor(ctx) {
|
|
/**
|
|
* @member {Context} BaseContextClass#ctx
|
|
* @since 1.0.0
|
|
*/
|
|
this.ctx = ctx;
|
|
/**
|
|
* @member {Application} BaseContextClass#app
|
|
* @since 1.0.0
|
|
*/
|
|
this.app = ctx.app;
|
|
/**
|
|
* @member {Config} BaseContextClass#config
|
|
* @since 1.0.0
|
|
*/
|
|
this.config = ctx.app.config;
|
|
/**
|
|
* @member {Service} BaseContextClass#service
|
|
* @since 1.0.0
|
|
*/
|
|
this.service = ctx.service;
|
|
}
|
|
|
|
get logger() {
|
|
if (!this[LOGGER]) this[LOGGER] = new BaseContextLogger(this.ctx, this.pathName);
|
|
return this[LOGGER];
|
|
}
|
|
}
|
|
|
|
module.exports = BaseContextClass;
|