File tree Expand file tree Collapse file tree 4 files changed +40
-12
lines changed Expand file tree Collapse file tree 4 files changed +40
-12
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,12 @@ import {
12
12
convexToJson ,
13
13
jsonToConvex ,
14
14
} from "../values/index.js" ;
15
- import { instantiateDefaultLogger , logForFunction , Logger } from "./logging.js" ;
15
+ import {
16
+ instantiateDefaultLogger ,
17
+ instantiateNoopLogger ,
18
+ logForFunction ,
19
+ Logger ,
20
+ } from "./logging.js" ;
16
21
import { FunctionArgs , UserIdentityAttributes } from "../server/index.js" ;
17
22
18
23
export const STATUS_CODE_OK = 200 ;
@@ -62,7 +67,10 @@ export class ConvexHttpClient {
62
67
*/
63
68
constructor (
64
69
address : string ,
65
- options ?: { skipConvexDeploymentUrlCheck ?: boolean ; logger ?: Logger } ,
70
+ options ?: {
71
+ skipConvexDeploymentUrlCheck ?: boolean ;
72
+ logger ?: Logger | boolean ;
73
+ } ,
66
74
) {
67
75
if ( typeof options === "boolean" ) {
68
76
throw new Error (
@@ -73,7 +81,12 @@ export class ConvexHttpClient {
73
81
if ( opts . skipConvexDeploymentUrlCheck !== true ) {
74
82
validateDeploymentUrl ( address ) ;
75
83
}
76
- this . logger = opts . logger ?? instantiateDefaultLogger ( { verbose : false } ) ;
84
+ this . logger =
85
+ options ?. logger === false
86
+ ? instantiateNoopLogger ( { verbose : false } )
87
+ : options ?. logger !== true && options ?. logger
88
+ ? options . logger
89
+ : instantiateDefaultLogger ( { verbose : false } ) ;
77
90
this . address = address ;
78
91
this . debug = true ;
79
92
}
Original file line number Diff line number Diff line change @@ -110,6 +110,10 @@ export function instantiateDefaultLogger(options: {
110
110
return logger ;
111
111
}
112
112
113
+ export function instantiateNoopLogger ( options : { verbose : boolean } ) : Logger {
114
+ return new Logger ( options ) ;
115
+ }
116
+
113
117
export function logForFunction (
114
118
logger : Logger ,
115
119
type : "info" | "error" ,
Original file line number Diff line number Diff line change 4
4
createHybridErrorStacktrace ,
5
5
forwardData ,
6
6
instantiateDefaultLogger ,
7
+ instantiateNoopLogger ,
7
8
logFatalError ,
8
9
Logger ,
9
10
} from "../logging.js" ;
@@ -70,12 +71,12 @@ export interface BaseConvexClientOptions {
70
71
*/
71
72
verbose ?: boolean ;
72
73
/**
73
- * A logger. If not provided, logs to the console.
74
+ * A logger, `true`, or `false`. If not provided or `true`, logs to the console.
75
+ * If `false`, logs are not printed anywhere.
74
76
*
75
- * You can construct your own logger to customize logging to log elsewhere
76
- * or not log at all.
77
+ * You can construct your own logger to customize logging to log elsewhere.
77
78
*/
78
- logger ?: Logger ;
79
+ logger ?: Logger | boolean ;
79
80
/**
80
81
* Sends additional metrics to Convex for debugging purposes.
81
82
*
@@ -255,8 +256,11 @@ export class BaseConvexClient {
255
256
this . debug = options . reportDebugInfoToConvex ?? false ;
256
257
this . address = address ;
257
258
this . logger =
258
- options . logger ??
259
- instantiateDefaultLogger ( { verbose : options . verbose ?? false } ) ;
259
+ options . logger === false
260
+ ? instantiateNoopLogger ( { verbose : options . verbose ?? false } )
261
+ : options . logger !== true && options . logger
262
+ ? options . logger
263
+ : instantiateDefaultLogger ( { verbose : options . verbose ?? false } ) ;
260
264
// Substitute http(s) with ws(s)
261
265
const i = address . search ( "://" ) ;
262
266
if ( i === - 1 ) {
Original file line number Diff line number Diff line change @@ -21,7 +21,11 @@ import {
21
21
makeFunctionReference ,
22
22
} from "../server/api.js" ;
23
23
import { EmptyObject } from "../server/registration.js" ;
24
- import { instantiateDefaultLogger , Logger } from "../browser/logging.js" ;
24
+ import {
25
+ instantiateDefaultLogger ,
26
+ instantiateNoopLogger ,
27
+ Logger ,
28
+ } from "../browser/logging.js" ;
25
29
26
30
if ( typeof React === "undefined" ) {
27
31
throw new Error ( "Required dependency 'react' not found" ) ;
@@ -256,8 +260,11 @@ export class ConvexReactClient {
256
260
this . address = address ;
257
261
this . listeners = new Map ( ) ;
258
262
this . _logger =
259
- options ?. logger ??
260
- instantiateDefaultLogger ( { verbose : options ?. verbose ?? false } ) ;
263
+ options ?. logger === false
264
+ ? instantiateNoopLogger ( { verbose : options ?. verbose ?? false } )
265
+ : options ?. logger !== true && options ?. logger
266
+ ? options . logger
267
+ : instantiateDefaultLogger ( { verbose : options ?. verbose ?? false } ) ;
261
268
this . options = { ...options , logger : this . _logger } ;
262
269
}
263
270
You can’t perform that action at this time.
0 commit comments