mirror of https://github.com/Chocobozzz/PeerTube
Parse log script can take files as args
parent
0d9c2cc0a2
commit
e078371807
|
@ -12,6 +12,7 @@ import { mtimeSortFilesDesc } from '../shared/core-utils/logs/logs'
|
|||
|
||||
program
|
||||
.option('-l, --level [level]', 'Level log (debug/info/warn/error)')
|
||||
.option('-f, --files [file...]', 'Files to parse. If not provided, the script will parse the latest log file from config)')
|
||||
.parse(process.argv)
|
||||
|
||||
const excludedKeys = {
|
||||
|
@ -62,13 +63,12 @@ run()
|
|||
|
||||
function run () {
|
||||
return new Promise(async res => {
|
||||
const logFiles = await readdir(CONFIG.STORAGE.LOG_DIR)
|
||||
const lastLogFile = await getNewestFile(logFiles, CONFIG.STORAGE.LOG_DIR)
|
||||
const files = await getFiles()
|
||||
|
||||
const path = join(CONFIG.STORAGE.LOG_DIR, lastLogFile)
|
||||
console.log('Opening %s.', path)
|
||||
for (const file of files) {
|
||||
console.log('Opening %s.', file)
|
||||
|
||||
const stream = createReadStream(path)
|
||||
const stream = createReadStream(file)
|
||||
|
||||
const rl = createInterface({
|
||||
input: stream
|
||||
|
@ -83,6 +83,7 @@ function run () {
|
|||
})
|
||||
|
||||
stream.once('close', () => res())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -93,6 +94,15 @@ async function getNewestFile (files: string[], basePath: string) {
|
|||
return (sorted.length > 0) ? sorted[0].file : ''
|
||||
}
|
||||
|
||||
async function getFiles () {
|
||||
if (program['files']) return program['files']
|
||||
|
||||
const logFiles = await readdir(CONFIG.STORAGE.LOG_DIR)
|
||||
|
||||
const filename = await getNewestFile(logFiles, CONFIG.STORAGE.LOG_DIR)
|
||||
return [ join(CONFIG.STORAGE.LOG_DIR, filename) ]
|
||||
}
|
||||
|
||||
function toTimeFormat (time: string) {
|
||||
const timestamp = Date.parse(time)
|
||||
|
||||
|
|
|
@ -413,10 +413,10 @@ describe('Test live', function () {
|
|||
await testVideoResolutions(liveVideoId, resolutions)
|
||||
|
||||
await stopFfmpeg(command)
|
||||
await waitUntilLivePublished(servers[0].url, servers[0].accessToken, liveVideoId)
|
||||
|
||||
await waitJobs(servers)
|
||||
|
||||
await waitUntilLivePublished(servers[0].url, servers[0].accessToken, liveVideoId)
|
||||
|
||||
const bitrateLimits = {
|
||||
720: 5000 * 1000, // 60FPS
|
||||
360: 1100 * 1000,
|
||||
|
@ -427,6 +427,7 @@ describe('Test live', function () {
|
|||
const resVideo = await getVideo(server.url, liveVideoId)
|
||||
const video: VideoDetails = resVideo.body
|
||||
|
||||
expect(video.state.id).to.equal(VideoState.PUBLISHED)
|
||||
expect(video.duration).to.be.greaterThan(1)
|
||||
expect(video.files).to.have.lengthOf(0)
|
||||
|
||||
|
|
|
@ -302,7 +302,7 @@ describe('Test follows', function () {
|
|||
})
|
||||
|
||||
it('Should upload a video on server 2 and 3 and propagate only the video of server 2', async function () {
|
||||
this.timeout(35000)
|
||||
this.timeout(60000)
|
||||
|
||||
await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'server2' })
|
||||
await uploadVideo(servers[2].url, servers[2].accessToken, { name: 'server3' })
|
||||
|
|
Loading…
Reference in New Issue