Skip to content

Commit

Permalink
fix(FEC-10524): get logger from playkit and set to ui and provider (#360
Browse files Browse the repository at this point in the history
)

Issue: we bundling a few js-logger on Kaltura player.
Solution: get logger from playkit and set it to UI and provider.
  • Loading branch information
Yuvalke authored Oct 5, 2020
1 parent 197cd40 commit 7387569
Show file tree
Hide file tree
Showing 17 changed files with 72 additions and 130 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
"@playkit-js/playkit-js-hls": "1.21.1",
"@playkit-js/playkit-js-ui": "0.59.1",
"hls.js": "^0.14.9",
"js-logger": "^1.6.0",
"playkit-js-providers": "https://github.com/kaltura/playkit-js-providers.git#v2.22.1",
"proxy-polyfill": "^0.3.0",
"shaka-player": "^3.0.4"
Expand Down
9 changes: 4 additions & 5 deletions src/common/cast/base-remote-player.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
// @flow
/* eslint no-unused-vars: 0 */
import {IRemotePlayer} from './remote-player';
import {EventManager, FakeEventTarget, TextStyle, Track, Utils} from '@playkit-js/playkit-js';
import {EventManager, FakeEventTarget, TextStyle, Track, Utils, getLogger} from '@playkit-js/playkit-js';
import {RemoteControl} from './remote-control';
import getLogger from '../utils/logger';
import {RemoteSession} from './remote-session';

/**
Expand Down Expand Up @@ -49,20 +48,20 @@ class BaseRemotePlayer extends FakeEventTarget implements IRemotePlayer {
return true;
}

static _logger: any;
_remoteControl: RemoteControl;
_playerConfig: Object;
_castConfig: Object;
_logger: any;
_eventManager: EventManager;

constructor(name: string, castConfig: Object, remoteControl: RemoteControl) {
super();
this._playerConfig = {};
this._logger = getLogger(name);
BaseRemotePlayer._logger = getLogger(name);
this._remoteControl = remoteControl;
this._castConfig = Utils.Object.mergeDeep({}, this.constructor.defaultConfig, castConfig);
this._eventManager = new EventManager();
this._logger.debug(`Initialized`);
BaseRemotePlayer._logger.debug(`Initialized`);
}

/**
Expand Down
22 changes: 10 additions & 12 deletions src/common/cast/remote-control.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,16 @@
import {KalturaPlayer} from '../../kaltura-player';
import {PlayerSnapshot} from './player-snapshot';
import {CastEventType} from './cast-event-type';
import {EventType as CoreEventType, FakeEvent, loadPlayer, TrackType, Utils} from '@playkit-js/playkit-js';
import {EventType as CoreEventType, FakeEvent, loadPlayer, TrackType, Utils, getLogger} from '@playkit-js/playkit-js';
import {RemoteAvailablePayload, RemoteConnectedPayload, RemoteDisconnectedPayload} from './remote-payload';
import {UIWrapper} from '../ui-wrapper';
import getLogger from '../utils/logger';

const logger: any = getLogger('RemoteControl');

/**
* @class RemoteControl
* @param {KalturaPlayer} player - The Kaltura player.
*/
class RemoteControl {
static _logger: any = getLogger('RemoteControl');
/**
* Gets the player snapshot.
* @returns {PlayerSnapshot} - player snapshot.
Expand Down Expand Up @@ -89,12 +87,12 @@ class RemoteControl {
}

function onRemoteDeviceConnecting(): void {
logger.debug('onRemoteDeviceConnecting');
RemoteControl._logger.debug('onRemoteDeviceConnecting');
this.dispatchEvent(new FakeEvent(CastEventType.CAST_SESSION_STARTING));
}

function onRemoteDeviceConnected(payload: RemoteConnectedPayload): void {
logger.debug('onRemoteDeviceConnected', payload);
RemoteControl._logger.debug('onRemoteDeviceConnected', payload);
const {player, ui, session} = payload;
// After remote player is connected, clean all listeners and bounce the remote player events forward
this._eventManager.removeAll();
Expand Down Expand Up @@ -124,12 +122,12 @@ function onRemoteDeviceConnected(payload: RemoteConnectedPayload): void {
}

function onRemoteDeviceDisconnecting(): void {
logger.debug('onRemoteDeviceDisconnecting');
RemoteControl._logger.debug('onRemoteDeviceDisconnecting');
this.dispatchEvent(new FakeEvent(CastEventType.CAST_SESSION_ENDING));
}

function onRemoteDeviceDisconnected(payload: RemoteDisconnectedPayload): void {
logger.debug('onRemoteDeviceDisconnected', payload);
RemoteControl._logger.debug('onRemoteDeviceDisconnected', payload);
const {player, snapshot} = payload;
if (this._remotePlayer && this._remotePlayer === player) {
// After remote player is disconnected, clean all listeners and bounce the remote player events forward
Expand Down Expand Up @@ -169,7 +167,7 @@ function onRemoteDeviceDisconnected(payload: RemoteDisconnectedPayload): void {
}

function onRemoteDeviceAvailable(payload: RemoteAvailablePayload): void {
logger.debug('onRemoteDeviceAvailable', payload);
RemoteControl._logger.debug('onRemoteDeviceAvailable', payload);
const {player, available} = payload;
this.dispatchEvent(
new FakeEvent(CastEventType.CAST_AVAILABLE, {
Expand All @@ -180,18 +178,18 @@ function onRemoteDeviceAvailable(payload: RemoteAvailablePayload): void {
}

function onRemoteDeviceConnectFailed(): void {
logger.debug('onRemoteDeviceConnectFailed');
RemoteControl._logger.debug('onRemoteDeviceConnectFailed');
this.dispatchEvent(new FakeEvent(CastEventType.CAST_SESSION_START_FAILED));
}

function getPlayerSnapshot(): PlayerSnapshot {
const snapshot = new PlayerSnapshot(this);
logger.debug('getPlayerSnapshot', snapshot);
RemoteControl._logger.debug('getPlayerSnapshot', snapshot);
return snapshot;
}

function getUIWrapper(): UIWrapper {
logger.debug('getUIWrapper');
RemoteControl._logger.debug('getUIWrapper');
return this._uiWrapper;
}

Expand Down
2 changes: 1 addition & 1 deletion src/common/cast/remote-player-manager.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// @flow
import {RemoteControl} from './remote-control';
import {BaseRemotePlayer} from './base-remote-player';
import getLogger from '../utils/logger';
import {getLogger} from '@playkit-js/playkit-js';

class RemotePlayerManager {
static _logger: any = getLogger('RemotePlayerManager');
Expand Down
3 changes: 1 addition & 2 deletions src/common/controllers/ads-controller.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
//@flow
import {KalturaPlayer as Player} from '../../kaltura-player';
import getLogger from '../utils/logger';
import {Ad} from '../ads';
import {AdBreak} from '../ads';
import {Error, EventManager, AdEventType, FakeEvent, FakeEventTarget, Html5EventType, CustomEventType} from '@playkit-js/playkit-js';
import {Error, EventManager, AdEventType, FakeEvent, FakeEventTarget, Html5EventType, CustomEventType, getLogger} from '@playkit-js/playkit-js';

declare type RunTimeAdBreakObject = KPAdBreakObject & {
played: boolean
Expand Down
13 changes: 6 additions & 7 deletions src/common/playlist/playlist-manager.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
// @flow
import {KalturaPlayer} from '../../kaltura-player';
import {FakeEvent, Utils, EventManager} from '@playkit-js/playkit-js';
import {FakeEvent, Utils, EventManager, getLogger} from '@playkit-js/playkit-js';
import {PlaylistEventType} from './playlist-event-type';
import getLogger from '../utils/logger';
import {Playlist} from './playlist';
import {PlaylistItem} from './playlist-item';
import {addKalturaPoster} from 'poster';
Expand All @@ -13,7 +12,7 @@ import {addKalturaPoster} from 'poster';
* @param {KPOptionsObject} options - The player config object
*/
class PlaylistManager {
_logger: any = getLogger('PlaylistManager');
static _logger: any = getLogger('PlaylistManager');
_player: KalturaPlayer;
_eventManager: EventManager;
_playlist: Playlist;
Expand Down Expand Up @@ -91,7 +90,7 @@ class PlaylistManager {
* @memberof PlaylistManager
*/
playNext(): void {
this._logger.debug('playNext');
PlaylistManager._logger.debug('playNext');
const next = this._playlist.getNext(true);
if (next.item) {
this._setItem(next.item, next.index);
Expand All @@ -105,7 +104,7 @@ class PlaylistManager {
* @memberof PlaylistManager
*/
playPrev(): void {
this._logger.debug('playPrev');
PlaylistManager._logger.debug('playPrev');
const prev = this._playlist.prev;
if (prev.item) {
this._setItem(prev.item, prev.index);
Expand All @@ -120,7 +119,7 @@ class PlaylistManager {
* @memberof PlaylistManager
*/
playItem(index: number): void {
this._logger.debug(`playItem(${index})`);
PlaylistManager._logger.debug(`playItem(${index})`);
const item = this._playlist.items[index];
if (item) {
this._setItem(item, index);
Expand Down Expand Up @@ -254,7 +253,7 @@ class PlaylistManager {
}

_setItem(activeItem: PlaylistItem, index: number): Promise<*> {
this._logger.debug(`Playing item number ${index}`, activeItem);
PlaylistManager._logger.debug(`Playing item number ${index}`, activeItem);
const playback: Object = {loop: false};
if (this._playlist.current.item) {
// from the second item onwards
Expand Down
5 changes: 2 additions & 3 deletions src/common/plugins/base-plugin.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
//@flow
import getLogger from '../utils/logger';
import {Error, EventManager, FakeEvent, Utils} from '@playkit-js/playkit-js';
import {Error, EventManager, FakeEvent, Utils, getLogger} from '@playkit-js/playkit-js';

/** The BasePlugin responsible to implement the plugin interface.
* Contains several default implementations.
* Other plugins should extend this class.
* @classdesc
*/
export class BasePlugin implements IPlugin {
logger: any;
/**
* The runtime configuration of the plugin.
* @member
Expand All @@ -22,7 +22,6 @@ export class BasePlugin implements IPlugin {
* The logger of the plugin.
* @member
*/
logger: any;
/**
* Reference to the actual player.
* @member
Expand Down
21 changes: 11 additions & 10 deletions src/common/plugins/plugin-manager.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
//@flow
import {BasePlugin} from '.';
import getLogger from '../utils/logger';
import {Error} from '@playkit-js/playkit-js';
import {Error, getLogger} from '@playkit-js/playkit-js';

/**
* The logger of the PluginManager class.
* @private
* @const
*/
const logger = getLogger('PluginManager');

/** The PluginManager responsible for register plugins definitions and store plugins instances.
* @classdesc
*/
export class PluginManager {
static _logger = getLogger('PluginManager');
/**
* The registry of the plugins.
* Maps plugin's name to his class.
Expand Down Expand Up @@ -49,15 +48,17 @@ export class PluginManager {
*/
static register(name: string, handler: Function): boolean {
if (typeof handler !== 'function' || handler.prototype instanceof BasePlugin === false) {
logger.error(`Plugin <${name}> registration failed, either plugin is not an instance of BasePlugin or plugin handler is not a function`);
PluginManager._logger.error(
`Plugin <${name}> registration failed, either plugin is not an instance of BasePlugin or plugin handler is not a function`
);
return false;
}
if (!PluginManager._registry.has(name)) {
PluginManager._registry.set(name, handler);
logger.debug(`Plugin <${name}> has been registered successfully`);
PluginManager._logger.debug(`Plugin <${name}> has been registered successfully`);
return true;
}
logger.debug(`Plugin <${name}> is already registered, do not register again`);
PluginManager._logger.debug(`Plugin <${name}> is already registered, do not register again`);
return false;
}

Expand All @@ -71,7 +72,7 @@ export class PluginManager {
static unRegister(name: string): void {
if (PluginManager._registry.has(name)) {
PluginManager._registry.delete(name);
logger.debug(`Unregistered <${name}> plugin.`);
PluginManager._logger.debug(`Unregistered <${name}> plugin.`);
}
}

Expand All @@ -85,7 +86,7 @@ export class PluginManager {
*/
load(name: string, player: Object, config: Object = {}): boolean {
if (!PluginManager._registry.has(name)) {
logger.warn(`Plugin <${name}> loading failed, plugin is not registered`);
PluginManager._logger.warn(`Plugin <${name}> loading failed, plugin is not registered`);
throw new Error(Error.Severity.RECOVERABLE, Error.Category.PLAYER, Error.Code.RUNTIME_ERROR_NOT_REGISTERED_PLUGIN, name);
}
let pluginClass = PluginManager._registry.get(name);
Expand All @@ -101,10 +102,10 @@ export class PluginManager {
throw new Error(Error.Severity.RECOVERABLE, Error.Category.PLAYER, Error.Code.PLUGIN_LOAD_FAILED, e);
}
this._isDisabledPluginMap.set(name, false);
logger.debug(`Plugin <${name}> has been loaded`);
PluginManager._logger.debug(`Plugin <${name}> has been loaded`);
return true;
}
logger.debug(`Plugin <${name}> isn't loaded, isValid()=${isValidPlugin.toString()}, disabled=${isDisablePlugin.toString()}`);
PluginManager._logger.debug(`Plugin <${name}> isn't loaded, isValid()=${isValidPlugin.toString()}, disabled=${isDisablePlugin.toString()}`);
return false;
}

Expand Down
2 changes: 1 addition & 1 deletion src/common/polyfills/performance-now.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @flow
import PolyfillManager from './polyfill-manager';
import getLogger from '../utils/logger';
import {getLogger} from '@playkit-js/playkit-js';

export default class PerformanceNowPolyfill {
static id: string = 'performance.now';
Expand Down
2 changes: 1 addition & 1 deletion src/common/polyfills/polyfill-manager.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @flow
import getLogger from '../utils/logger';
import {getLogger} from '@playkit-js/playkit-js';

if (!window._babelPolyfill) {
require('@babel/polyfill');
Expand Down
2 changes: 1 addition & 1 deletion src/common/polyfills/prepend.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @flow
import PolyfillManager from './polyfill-manager';
import getLogger from '../utils/logger';
import {getLogger} from '@playkit-js/playkit-js';

export default class PrependPolyfill {
static id: string = 'prepend';
Expand Down
9 changes: 4 additions & 5 deletions src/common/storage/storage-manager.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// @flow
import StorageWrapper from './storage-wrapper';
import getLogger from '../utils/logger';
import {EventManager, Utils} from '@playkit-js/playkit-js';
import {EventManager, Utils, getLogger} from '@playkit-js/playkit-js';

export default class StorageManager {
static StorageKeys: {[key: string]: string} = {
Expand Down Expand Up @@ -97,9 +96,9 @@ export default class StorageManager {
const storageSize = StorageWrapper.size;
const hasStorage = storageSize !== 0;
if (hasStorage) {
this._logger.debug('Storage found with size of ', storageSize);
StorageManager._logger.debug('Storage found with size of ', storageSize);
} else {
this._logger.debug('No storage found');
StorageManager._logger.debug('No storage found');
}
return hasStorage;
}
Expand All @@ -113,7 +112,7 @@ export default class StorageManager {
static getStorageConfig(): Object {
const values = StorageManager._getExistingValues();
const storageConfig = StorageManager._buildStorageConfig(values);
this._logger.debug('Gets storage config', storageConfig);
StorageManager._logger.debug('Gets storage config', storageConfig);
return storageConfig;
}

Expand Down
2 changes: 1 addition & 1 deletion src/common/storage/storage-wrapper.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @flow
import getLogger from '../utils/logger';
import {getLogger} from '@playkit-js/playkit-js';

const STORAGE_PREFIX = __NAME__ + '_';

Expand Down
9 changes: 4 additions & 5 deletions src/common/ui-wrapper.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
// @flow
import {UIManager} from '@playkit-js/playkit-js-ui';
import {Env, Utils} from '@playkit-js/playkit-js';
import {Env, Utils, getLogger} from '@playkit-js/playkit-js';
import {DEFAULT_THUMBS_SLICES, DEFAULT_THUMBS_WIDTH, getThumbSlicesUrl} from './utils/thumbs';
import {KalturaPlayer} from '../kaltura-player';
import getLogger from './utils/logger';

/**
* The logger of the UIWrapper class.
* @private
* @const
*/
const logger = getLogger('UIWrapper');
class UIWrapper {
static _logger = getLogger('UIWrapper');
_uiManager: UIManager;
_disabled: boolean = false;

Expand Down Expand Up @@ -80,10 +79,10 @@ class UIWrapper {
if (config.css) {
Utils.Dom.loadStyleSheetAsync(config.css).then(
() => {
logger.debug(`external css was loaded successfully`);
UIWrapper._logger.debug(`external css was loaded successfully`);
},
() => {
logger.error(`external css failed to load`);
UIWrapper._logger.error(`external css failed to load`);
}
);
}
Expand Down
Loading

0 comments on commit 7387569

Please sign in to comment.