mirror of
https://github.com/snobu/destreamer.git
synced 2026-01-17 05:22:18 +00:00
* Added Chromium caching of identity provider cookies * Moved token expiry check in standalone method * Created refreshSession function * Session is now refreshed if the token expires * Linting fixes * Removed debug console.log() * Added CC support * Created function to prompt user for download parameters (interactive mode) * Fix data folder for puppeteer * Fixed multiple session error * Fix token expire time * Moved session refreshing to a more sensible place * Changed Metadata name to Video (to better reflect the data structure) * Complete CLI refactoring * Removed useless sleep function * Added outDir check from CLI * Complete input parsing refactoring (both inline and file) * Fixed and improved tests to work with the new input parsing * Moved and improved output path generation to videoUtils * Main code refactoring, added outpath to video type * Minor changes in spacing and type definition style * Updated readme after code refactoring * Fix if inputFile doesn't start with url on line 1 * Minor naming change * Use module 'winston' for logging * Created logge, changed all console.log and similar to use the logger * Added verbose logging, changed posterUrl property name on Video type * Moved GUID extraction to input parsing * Added support for group links * Fixed test after last input parsing update * Removed debug proces.exit() * Changed from desc to asc order for group videos * Updated test to reflect GUIDs output after parsing * Added couple of comments and restyled some imports * More readable verbose GUIDs logging * Removed unused errors * Temporary fix for timeout not working in ApiClient * Explicit class member accessibility * Defined array naming schema to be Array<T> * Defined type/interface schema to be type only * A LOT of type definitions
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import colors from 'colors';
|
|
import winston from 'winston';
|
|
|
|
|
|
export const logger: winston.Logger = winston.createLogger({
|
|
level: 'info',
|
|
transports: [
|
|
new winston.transports.Console({
|
|
format: winston.format.combine(
|
|
winston.format.errors({ stack: true }),
|
|
winston.format.timestamp({ format: 'YYYY-MM-DD hh:mm:ss' }),
|
|
winston.format.printf(
|
|
(item: winston.Logform.TransformableInfo) => customPrint(item)
|
|
)
|
|
)
|
|
})
|
|
]
|
|
});
|
|
|
|
|
|
function customPrint (info: winston.Logform.TransformableInfo): string {
|
|
if (info.level === 'error') {
|
|
if (info.fatal) {
|
|
return colors.red('\n\n[FATAL ERROR] ') + (info.stack ?? info.message);
|
|
}
|
|
|
|
return colors.red('\n[ERROR] ') + (info.stack ?? info.message) + '\n';
|
|
}
|
|
else if (info.level === 'warn') {
|
|
return colors.yellow('\n[WARNING] ') + info.message;
|
|
}
|
|
else if (info.level === 'info') {
|
|
return info.message;
|
|
}
|
|
else if (info.level === 'verbose') {
|
|
return colors.cyan('\n[VERBOSE] ') + info.message;
|
|
}
|
|
|
|
return `${info.level}: ${info.message} - ${info.timestamp}`;
|
|
}
|