From ea8e9de6e41b792290fa907d6ad707d92487816b Mon Sep 17 00:00:00 2001 From: pike Date: Sat, 30 Sep 2023 17:01:52 +0200 Subject: [PATCH] feat: Add logging by log4js --- .gitignore | 2 + index.ts | 6 +- package-lock.json | 180 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/Feed.ts | 11 ++- src/Folder.ts | 3 +- src/Logger.ts | 4 ++ src/Platform.ts | 10 +-- src/Post.ts | 5 +- 9 files changed, 211 insertions(+), 11 deletions(-) create mode 100644 src/Logger.ts diff --git a/.gitignore b/.gitignore index c148fce..6b16ecb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # Feed feed .DS_Store +build +*.log # Logs logs diff --git a/index.ts b/index.ts index 0b36ee7..52aa835 100644 --- a/index.ts +++ b/index.ts @@ -3,6 +3,7 @@ Fairpost cli handler */ +import Logger from './src/Logger'; import Feed from './src/Feed'; import { PostStatus } from './src/Post'; import { PlatformSlug } from './src/platforms'; @@ -11,8 +12,8 @@ import { PlatformSlug } from './src/platforms'; const COMMAND = process.argv[2] ?? 'help' // options -const DRY_RUN = !!getOption('dry-run') ?? false; const CONFIG = (getOption('config') as string ) ?? '.env'; +const DRY_RUN = !!getOption('dry-run') ?? false; const REPORT = (getOption('report') as string ) ?? 'text'; const PLATFORMS = (getOption('platforms') as string)?.split(',') as PlatformSlug[] ?? undefined; const FOLDERS = (getOption('folders') as string)?.split(',') ?? undefined; @@ -37,8 +38,7 @@ async function main() { let report = ''; const feed = new Feed(CONFIG); - report += 'Fairpost '+feed.path+' starting .. ',DRY_RUN?'dry-run':''; - report += '\n'; + Logger.trace('Fairpost '+feed.path+' '+COMMAND,DRY_RUN?' dry-run':''); try { diff --git a/package-lock.json b/package-lock.json index 26bb308..b12eccb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "dotenv": "^16.0.3", + "log4js": "^6.9.1", "node-fetch": "^2.6.7", "sharp": "0.31.1" }, @@ -213,6 +214,30 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -279,16 +304,39 @@ "node": ">=6" } }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -323,6 +371,29 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -364,6 +435,11 @@ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/napi-build-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -473,6 +549,11 @@ "node": ">= 6" } }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -579,6 +660,19 @@ "is-arrayish": "^0.3.1" } }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -693,6 +787,14 @@ "node": ">=14.17" } }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -885,6 +987,19 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, "decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -927,16 +1042,36 @@ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -957,6 +1092,26 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "requires": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -986,6 +1141,11 @@ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "napi-build-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", @@ -1069,6 +1229,11 @@ "util-deprecate": "^1.0.1" } }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1120,6 +1285,16 @@ "is-arrayish": "^0.3.1" } }, + "streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "requires": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -1196,6 +1371,11 @@ "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 09a3c62..010dc77 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "license": "ISC", "dependencies": { "dotenv": "^16.0.3", + "log4js": "^6.9.1", "node-fetch": "^2.6.7", "sharp": "0.31.1" }, diff --git a/src/Feed.ts b/src/Feed.ts index a78f119..aebe7c8 100644 --- a/src/Feed.ts +++ b/src/Feed.ts @@ -2,6 +2,7 @@ import * as fs from 'fs'; import * as path from 'path'; import * as dotenv from 'dotenv'; +import Logger from './Logger'; import Platform from "./Platform"; import Folder from "./Folder"; import Post from "./Post"; @@ -47,10 +48,12 @@ export default class Feed { } getPlatforms(platforms?:PlatformSlug[]): Platform[] { + Logger.trace('Feed','getPlatforms'); return platforms?.map(platform=>this.platforms[platform]) ?? Object.values(this.platforms); } getAllFolders(): Folder[] { + Logger.trace('Feed','getAllFolders'); if (this.folders.length) { return this.folders; } @@ -68,6 +71,7 @@ export default class Feed { } getFolders(paths?: string[]): Folder[] { + Logger.trace('Feed','getFolders'); return paths?.map(path=>new Folder(this.path+'/'+path)) ?? this.getAllFolders(); } @@ -76,6 +80,7 @@ export default class Feed { platforms?:PlatformSlug[], status?:PostStatus }): Post[] { + Logger.trace('Feed','getPosts'); const posts: Post[] = []; const platforms = this.getPlatforms(filters?.platforms); const folders = this.getFolders(filters?.paths); @@ -94,7 +99,7 @@ export default class Feed { paths?:string[] platforms?:PlatformSlug[] }): Promise { - + Logger.trace('Feed','preparePosts'); const posts: Post[] = []; const platforms = this.getPlatforms(filters?.platforms); const folders = this.getFolders(filters?.paths); @@ -114,6 +119,7 @@ export default class Feed { getLastPost(platform:PlatformSlug): Post | void { + Logger.trace('Feed','getLastPost'); let lastPost: Post = undefined; const posts = this.getPosts({ platforms: [platform], @@ -129,6 +135,7 @@ export default class Feed { getNextPostDate(platform:PlatformSlug): Date { + Logger.trace('Feed','getNextPostDate'); let nextDate = null; const lastPost = this.getLastPost(platform); if (lastPost) { @@ -144,6 +151,7 @@ export default class Feed { paths?:string[] platforms?:PlatformSlug[] }): Post[] { + Logger.trace('Feed','scheduleNextPosts'); const posts: Post[] = []; const platforms = this.getPlatforms(filters?.platforms); const folders = this.getFolders(filters?.paths); @@ -166,6 +174,7 @@ export default class Feed { paths?:string[] platforms?:PlatformSlug[] }, dryrun:boolean = false): Promise { + Logger.trace('Feed','publishDuePosts'); const now = new Date(); const posts: Post[] = []; const platforms = this.getPlatforms(filters?.platforms); diff --git a/src/Folder.ts b/src/Folder.ts index 3473b9d..e5e7fa1 100644 --- a/src/Folder.ts +++ b/src/Folder.ts @@ -1,5 +1,5 @@ import * as fs from 'fs'; -import * as path from 'path'; +import Logger from './Logger'; export default class Folder { @@ -16,6 +16,7 @@ export default class Folder { } getFiles() { + Logger.trace('Folder','getFiles'); if (this.files!=undefined) { return { text: [ ...this.files.text ], diff --git a/src/Logger.ts b/src/Logger.ts new file mode 100644 index 0000000..920b96f --- /dev/null +++ b/src/Logger.ts @@ -0,0 +1,4 @@ +import * as log4js from "log4js"; +import * as path from 'path'; +log4js.configure(path.resolve(__dirname+'/../../log4js.json')); +export default log4js.getLogger('default'); diff --git a/src/Platform.ts b/src/Platform.ts index 1a81b8e..8d09a18 100644 --- a/src/Platform.ts +++ b/src/Platform.ts @@ -1,12 +1,10 @@ import * as fs from 'fs'; -import * as path from 'path'; +import Logger from './Logger'; import Folder from "./Folder"; import Post from "./Post"; import { PostStatus } from "./Post"; import { PlatformSlug } from "./platforms"; - - export default class Platform { active: boolean = false; @@ -32,7 +30,7 @@ export default class Platform { getPost(folder: Folder): Post | undefined { - //console.log(this.slug,'getPost',folder.path); + Logger.trace('Platform','getPost'); if (fs.existsSync(folder.path+'/'+this.getPostFileName())) { const data = JSON.parse(fs.readFileSync(folder.path+'/'+this.getPostFileName(), 'utf8')); @@ -56,7 +54,7 @@ export default class Platform { */ async preparePost(folder: Folder): Promise { - console.log(this.slug,'preparePost',folder.path); + Logger.trace('Platform','preparePost'); const post = this.getPost(folder) ?? new Post(folder,this); if (post.status===PostStatus.PUBLISHED) { @@ -114,6 +112,8 @@ export default class Platform { */ async publishPost(post: Post, dryrun:boolean = false): Promise { + + Logger.trace('Platform','publishPost'); post.posted = new Date(); post.results.push({ error: 'publishing not implemented for '+this.slug diff --git a/src/Post.ts b/src/Post.ts index 081eecf..1fd6042 100644 --- a/src/Post.ts +++ b/src/Post.ts @@ -1,6 +1,6 @@ import * as fs from 'fs'; -import * as path from 'path'; +import Logger from './Logger'; import Folder from "./Folder"; import Platform from "./Platform"; @@ -41,6 +41,7 @@ export default class Post { */ save(): void { + Logger.trace('Post','save'); const data = { ...this}; delete data.folder; delete data.platform; @@ -51,12 +52,14 @@ export default class Post { } schedule(date:Date): void { + Logger.trace('Post','schedule'); this.scheduled = date; this.status = PostStatus.SCHEDULED; this.save(); } report(): string { + Logger.trace('Post','report'); let report = ''; report += '\nPost: '+this.platform.slug+' : '+this.folder.path; report += '\n - valid: '+this.valid;