JavaScript:使用换行字格式化文本

JavaScript:使用换行字格式化文本,javascript,string-formatting,Javascript,String Formatting,我有一个logger对象,它使用时间戳、发送者格式化日志消息,并将行的长度设置为最多80个字符 var paddedSender = message.Sender.padStart( 6 ); var string = `=-[ ${message.Timestamp} ][ ${paddedSender} ] `; var remainingLength = this.CONSOLE_MAX_LENGTH - string.length - 3; var lines = []; var nu

我有一个logger对象,它使用时间戳、发送者格式化日志消息,并将行的长度设置为最多80个字符

var paddedSender = message.Sender.padStart( 6 );
var string = `=-[ ${message.Timestamp} ][ ${paddedSender} ] `;
var remainingLength = this.CONSOLE_MAX_LENGTH - string.length - 3;

var lines = [];
var numLines = Math.ceil( message.Body.length / remainingLength );
for ( var i = 0, o = 0; i < numLines; i++ , o += remainingLength )
  lines.push( message.Body.substr( o, remainingLength ) );

string += lines.shift().padEnd( remainingLength ) + ' -=';
while ( lines.length > 0 )
  string += '\n'
    + '=-'
    + '-'.repeat( message.Timestamp.length + 4 )
    + '-'.repeat( paddedSender.length + 4 )
    + ` ${lines.shift().padEnd( remainingLength )} `
    + '-=';

return string;
到目前为止,它的行为符合预期。但是,我希望通过在空格之间开始新行而不是在达到字符限制时进行换行

例如,我希望看到以下消息:

=-[ 06/08 11:30:38 ][ WEBCLI ] API Returned 400 Bad Request(Endpoint: undefin -=
=----------------------------- ed) (Err: Invalid id)                          -=
格式如下:

=-[ 06/08 11:30:38 ][ WEBCLI ] API Returned 400 Bad Request(Endpoint:         -=
=----------------------------- undefined) (Err: Invalid id)                   -=

如何实现这一点?

您可以获取文本并获取所需的
大小
,然后检查零件字符串末端的位置是否为空格,然后拆分字符串并将其推送到调整长度的数组中

var string='API返回了400个错误请求(端点:未定义)(错误:id无效)Lorem ipsum dolor sit amet、consetetur sadipscing elitr、sed diam nonumy eirmod temporal invidunt ut laboure et dolore magna aliquyam erat、sed diam voluptua。在vero eos和accusam以及justo duo dolores和ea Reum。斯泰特·克莱塔·卡斯德·古伯格伦(Stet clita kasd gubergren),没有海洋保护区是属于同一领域的。他说:“我的工作是在工作中完成的,我的工作是在工作中完成的,我的工作是在工作中完成的。”。在vero eos和accusam以及justo duo dolores和ea Reum。斯特特·克利塔·卡斯德·古伯格伦(Stet clita kasd gubergren),没有海洋保护区,也没有海洋保护区,
尺寸=46,
零件=[],
开始=0,
结束;
while(开始)
=-[ 06/08 11:30:38 ][ WEBCLI ] API Returned 400 Bad Request(Endpoint:         -=
=----------------------------- undefined) (Err: Invalid id)                   -=