Comments (4)
Hello @derian-all-win-software
can you please show me the content of the file WinstonLogger
Remember, every single service/dependency needs to be exported as default or use https://github.com/zazoomauro/node-dependency-injection/wiki/NamedMultiple
from node-dependency-injection.
Hi @zazoomauro, this is the content of the WistonLogger
class:
import winston, { Logger as WinstonLoggerType } from 'winston';
import Logger from '../domain/Logger';
enum Levels {
DEBUG = 'debug',
ERROR = 'error',
INFO = 'info'
}
class WinstonLogger implements Logger {
private logger: WinstonLoggerType;
constructor() {
this.logger = winston.createLogger({
format: winston.format.combine(
winston.format.prettyPrint(),
winston.format.errors({ stack: true }),
winston.format.splat(),
winston.format.colorize(),
winston.format.simple()
),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: `logs/${Levels.DEBUG}.log`, level: Levels.DEBUG }),
new winston.transports.File({ filename: `logs/${Levels.ERROR}.log`, level: Levels.ERROR }),
new winston.transports.File({ filename: `logs/${Levels.INFO}.log`, level: Levels.INFO })
]
});
}
debug(message: string) {
this.logger.debug(message);
}
error(message: string | Error) {
this.logger.error(message);
}
info(message: string) {
this.logger.info(message);
}
}
export default WinstonLogger;
The Logger interface would look like this:
export default interface Logger {
debug(message: string): void;
error(message: string | Error): void;
info(message: string): void;
}
from node-dependency-injection.
It looks good...
so the issue seems to be related with the real path.
can you please try to follow this in order to avoid ......... hell
https://github.com/zazoomauro/node-dependency-injection/wiki/CustomRelativeServiceDirectory
from node-dependency-injection.
Hey @zazoomauro, this has solved the problem for me, thank you very much for the help.
from node-dependency-injection.
Related Issues (20)
- Improving Performance parsing Definitions
- Exclude a list of folders from Autowire
- Rewrite library in TypeScript
- Logger verbosity
- Fails when loading services.yaml on multiple extends of Abstract Classes HOT 1
- Require of ES Module not supported HOT 1
- Usage with bundlers HOT 3
- Check arguments HOT 5
- Refactor Cognitive Complexity
- Refactor too many return statements
- findTaggedServiceIds return empty HOT 3
- Error [ERR_REQUIRE_ESM]: Must use import to load ES Module HOT 1
- Enable main property for factory HOT 2
- Typo in documentation
- Autowiring seems only to work with private constructor properties HOT 2
- Autowiring with public and protected constructor properties
- babel/traverse <7.23.2 critical vulnerability
- Compiler swallows Errors thrown in CompilerPasses HOT 2
- Vitest compatibility HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-dependency-injection.