48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
| import * as core from '@actions/core';
 | |
| 
 | |
| class CloudRunnerLogger {
 | |
|   private static timestamp: number;
 | |
|   private static globalTimestamp: number;
 | |
| 
 | |
|   public static setup() {
 | |
|     this.timestamp = this.createTimestamp();
 | |
|     this.globalTimestamp = this.timestamp;
 | |
|   }
 | |
| 
 | |
|   public static log(message: string) {
 | |
|     core.info(message);
 | |
|   }
 | |
| 
 | |
|   public static logRemoteCli(message: string) {
 | |
|     CloudRunnerLogger.log(`[CLI] ${message}`);
 | |
|   }
 | |
| 
 | |
|   public static logLine(message: string) {
 | |
|     core.info(`${message}\n`);
 | |
|   }
 | |
| 
 | |
|   public static error(message: string) {
 | |
|     core.error(message);
 | |
|   }
 | |
| 
 | |
|   public static logWithTime(message: string) {
 | |
|     const newTimestamp = this.createTimestamp();
 | |
|     core.info(
 | |
|       `${message} (Since previous: ${this.calculateTimeDiff(
 | |
|         newTimestamp,
 | |
|         this.timestamp,
 | |
|       )}, Total time: ${this.calculateTimeDiff(newTimestamp, this.globalTimestamp)})`,
 | |
|     );
 | |
|     this.timestamp = newTimestamp;
 | |
|   }
 | |
| 
 | |
|   private static calculateTimeDiff(x: number, y: number) {
 | |
|     return Math.floor((x - y) / 1000);
 | |
|   }
 | |
| 
 | |
|   private static createTimestamp() {
 | |
|     return Date.now();
 | |
|   }
 | |
| }
 | |
| export default CloudRunnerLogger;
 |